
htmlで料金メニューを作成しております。
大項目として7つぐらいの項目があり、それぞれに複数の「料金メニュー」「価格」「説明」等があります。
大項目にアコーディオンを使い、選択した時だけ料金メニューのtableを表示したいのですが、なかなか良い方法が見つかりません。
良くあるアコーディオンは、リスト(<li>)であったり、テキスト(<p>)の場合なら問題ないのですが、テーブルとなるとうまくうごくものが見つかりません。
どうかアドバイスや、参考になるページを教えて下さい。
よろしくお願いいたします。
No.6ベストアンサー
- 回答日時:
示されたサイトはjavascriptを使用しています。
私は通常はjavascriptはブロックしていますので、広がらなかったけど、サイトのjavascriptを許可して初めて動作した。---今は私のようにデフォルトではjavascriptを禁止しているユーザーも多いので、この方法は良くありません。
また、
>大項目にアコーディオンを使い、選択した時だけ料金メニューのtableを表示したいのですが、
>良くあるアコーディオンは、リスト(<li>)であったり、テキスト(<p>)の場合なら問題ないのですが、
これも、誤解されています。
普段は、display:none、ないしheight:0pxで、その要素が指定されると、display:block | table なりにすればよいことです。また、ゆっくり開きたいならtransitionを使えばよい・・
もちろん、リストだろうがtableだろうが関係ないですし、リストとしてマークアップされているものをtableとして表示するのも、tableとしてマークアップされているものをリストとして表示するのも、スタイルシートを使えば簡単にできる。
また、tableなどのソースがわからないと、作れないわけでもありまません。構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )は、20年前のHTML4.01の勧告以来、ウェブの基本ですからね。プレゼンテーション(表現)は、文書構造とは別の問題ですからね。(^^)
★あなたの間違いは、「良くあるアコーディオンは、・・・テーブルとなるとうまくうごくものが見つかりません。」と、完成品を探してそれを使おうとするからです。
数学の勉強と同じで、問題集から同じような問題を解いて解き方を流用しようとするから伸びない。数学なんて、基礎からキチンと理解していけば、あれほど簡単でちょろい科目はないでしょ。小学生だって数検2級とか1級がとれる。
要は、
・その要素を条件によって「隠したり表示する」あるいは「小さくしたり大きくしたり」すばよい
使えるプロパティは、displayか、transition、
要素の指定は、動的な疑似クラスを使えばよい。
ごく簡単なサンプル
★タブは_に置換してある
★alignやwidth属性はHTMLの属性ではなく、スタイルシートで指定しましょう。
<!doctype html>
<html>
<head>
_<meta charset="utf-8">
_<title>サンプル</title>
_<meta name="description" content="">
_<meta name="author" content="ORUKA">
<style media="screen">
<!--
section table{width:800px;border-collapse:collapse;}
section table caption{
text-align:left;
}
section table caption a{
text-decoration:none;
font-weight:bold;
font-size:1.2em;
}
section table tbody{
transition-property: line-height color;
transition-duration:2s;
transition-timing-function:ease-in-out;
color:rgb(255,255,255);
line-height:0;
}
section table tbody:target{
display:table-row-group;
color:rgb(0,0,0);
line-height:1.6em;
}
section table tbody:target th,
section table tbody:target td{
border:1px solid black;
}
-->
</style>
</head>
<body>
_<header>
__<h1 id="title">Your title</h1>
__<nav>
___<ul>
____<li><a href="#">Some</a></li>
____<li><a href="#">navigation</a></li>
____<li><a href="#">links</a></li>
___</ul>
__</nav>
_</header>
_<section>
__<h2>価格一覧</h2>
__<table>
___<caption><a href="#filing">ファイリング1</a></caption>
___<tbody id="filing">
____<tr>
_____<th>ファイリング</th>
_____<td class="number">10本</td>
_____<td class="price">700円</td>
_____<td class="comment">爪の長さや形を整えます。</td>
_____<td class="time">15分</td>
____</tr>
____<tr>
_____<th>ファイリング</th>
_____<td class="number">10本</td>
_____<td class="price">700円</td>
_____<td class="comment">爪の長さや形を整えます。</td>
_____<td class="time">15分</td>
____</tr>
____<tr>
_____<th>ファイリング</th>
_____<td class="number">10本</td>
_____<td class="price">700円</td>
_____<td class="comment">爪の長さや形を整えます。</td>
_____<td class="time">15分</td>
____</tr>
____<tr>
_____<th>ファイリング</th>
_____<td class="number">10本</td>
_____<td class="price">700円</td>
_____<td class="comment">爪の長さや形を整えます。</td>
_____<td class="time">15分</td>
____</tr>
___</tbody>
__</table>
__<table>
___<caption><a href="#filing2">ファイリング2</a></caption>
___<tbody id="filing2">
____<tr>
_____<th>ファイリング</th>
_____<td class="number">10本</td>
_____<td class="price">700円</td>
_____<td class="comment">爪の長さや形を整えます。</td>
_____<td class="time">15分</td>
____</tr>
____<tr>
_____<th>ファイリング</th>
_____<td class="number">10本</td>
_____<td class="price">700円</td>
_____<td class="comment">爪の長さや形を整えます。</td>
_____<td class="time">15分</td>
____</tr>
____<tr>
_____<th>ファイリング</th>
_____<td class="number">10本</td>
_____<td class="price">700円</td>
_____<td class="comment">爪の長さや形を整えます。</td>
_____<td class="time">15分</td>
____</tr>
___</tbody>
__</table>
__<aside>
___<h3>Something aside</h3>
__</aside>
_</section>
_<footer>
__<h3>A nice footer</h3>
_</footer>
</body>
</html>
No.4
- 回答日時:
例示いただいたテーブルは1行しかないのでアコーディオン処理は無理では?
またテーブルを例示いただくのとあわせてどこをクリックするとどう広がるという
仕様の提示も必要です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- その他(IT・Webサービス) google サイトの目次表示について 1 2023/06/17 23:24
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- Excel(エクセル) EXCELピボットテーブル(複数アイテム) 1 2023/04/27 12:15
- スタンプ・絵文字・顔文字 LINE VOOM について 1 2023/01/22 09:28
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
テーブルの任意の列を非表示に...
-
tableにul,または,olを入れられ...
-
テーブルタグのセルの幅の一部...
-
cssで、表示されるテキストによ...
-
EXCELからhtmlへの変換で罫線が...
-
テーブルレイアウト
-
mistyrose;が青になる
-
中に<table></table>が使えるア...
-
TRタグの余白をcssで設定するには
-
Dreamweaverで行間の調整
-
テーブルのセルに画像をピッタ...
-
テーブルタグの中に<ol><li>を...
-
テーブルのヘッダとボディの幅...
-
CSSだけで<table>の<td>や<tr>...
-
逆L字の表(table)組み
-
ホームページ 表の上の余白を...
-
Dreamweaverでタグが反映されな...
-
Dreamweaverで表組みのような罫...
-
テーブルをスクロールさせると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
TRタグの余白をcssで設定するには
-
tableにul,または,olを入れられ...
-
テーブルの任意の列を非表示に...
-
テーブルのヘッダとボディの幅...
-
中に<table></table>が使えるア...
-
cssで、表示されるテキストによ...
-
テーブルのセルに画像をピッタ...
-
ホームページ 表の上の余白を...
-
文字列が入っているtdを削除せ...
-
tableの要素(tr、td)に一...
-
テーブルの表示がずれます
-
tdなどの閉じタグは省略しても...
-
HTML <td></td>タグ セル内余...
-
EXCELからhtmlへの変換で罫線が...
-
HTMLのテーブルで桁をそろ...
-
html・cssで日付をキレイに揃え...
-
tableでcolspanを使うと次行以...
-
逆L字の表(table)組み
-
CSSだけで<table>の<td>や<tr>...
おすすめ情報
動きとしては、参考URLのようにしたいのですが、pタグだと動くのですが、tableタグを入れるとうまくうごきません。
参考:http://www.cloudot.co.jp/demo/201607/
テーブルのソース一部を入れさせて頂きます。
どうぞよろしくお願いいたします。
<table class="price-table">
<tbody>
<tr class="line">
<td width="120">ファイリング</td>
<td width="70">10本</td>
<td width="50" align="right">700円</td>
<td>爪の長さや形を整えます。</td>
<td width="60" align="right">15分</td>
</tr>
</tbody>
</table>