
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も見ています
-
ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
高校生はアルバイトするべきだろうか?
-
許せない心理テスト
皆さんがこれまで受けた中で許せない心理テストがあれば教えていただきたいです。
-
限定しりとり
文字数6文字以上の単語でしりとりしましょう
-
単二電池
あなたの家に何本ありますか?
-
準・究極の選択
「年収1000万円で一生カレーライス」か「年収180万円で毎日何でも食べ放題」
-
テーブルの行を折りたたみたいのですが、detailsタグとsummaryタグを使ってもうまくいきませ
HTML・CSS
-
テーブルタグの中にdivを含めてはダメ?
HTML・CSS
-
テーブルの任意の列を非表示にしたい
HTML・CSS
-
-
4
HTMLについて質問です。 下記、アコーディオンメニューの中(商品概要のテキストが入る部分)に、テー
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tableにul,または,olを入れられ...
-
TRタグの余白をcssで設定するには
-
テーブルの任意の列を非表示に...
-
テーブルのセルに画像をピッタ...
-
テーブルのヘッダとボディの幅...
-
テーブルの行を折りたたみたい...
-
tableの要素(tr、td)に一...
-
スタイルシートの記述で
-
<table>の<thead>をposition:fi...
-
不要な余白を削除する方法を教...
-
tableコーディング 幅ピッタリ...
-
逆L字の表(table)組み
-
テーブルの装飾
-
HTMLの<TABLE>タグの線の表示...
-
テーブル<TD>内に均等割付で表示
-
ホームページ 表の上の余白を...
-
HTMLの表で幅を指定しても折り...
-
<table>の<thead>をposition:fi...
-
htmlのtable内に画像
-
cssで、表示されるテキストによ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
tableにul,または,olを入れられ...
-
TRタグの余白をcssで設定するには
-
テーブルの任意の列を非表示に...
-
中に<table></table>が使えるア...
-
cssで、表示されるテキストによ...
-
テーブルのセルに画像をピッタ...
-
ホームページ 表の上の余白を...
-
テーブルのヘッダとボディの幅...
-
テーブルの行の高さを指定する...
-
テーブルタグのセルの幅の一部...
-
tableでcolspanを使うと次行以...
-
tableの要素(tr、td)に一...
-
文字列が入っているtdを削除せ...
-
CSSだけで<table>の<td>や<tr>...
-
テーブルの表示がずれます
-
HTML <td></td>タグ セル内余...
-
エクセルをhtml変換した、html...
-
Htmlのtd要素の中で半角の空...
-
逆L字の表(table)組み
おすすめ情報
動きとしては、参考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>