疑似クラス :has() b>の使用テストです。
これは、tableのおりたたみのテストです。
<label>のdata-showパラメータを動的に変更するために、<select>にjavascriptを仕込んでありますが、tableの開閉には全くjavascriptは仕込んでおりません。
また、デフォルトで開く値(data-show)は、10までを想定してのCSSになります。
(テーブルを閉じていたいのに、最初から10行を超えて開きたい、ということはあまりないでしょうから…)
data-show がない場合は4行デフォルト表示、data-open-textとdata-close-textがない場合はCSSで登録しているテキストの表示になります。
「.tableclose」のCSSを設置後、テーブルを
<div class="tableclose">
で囲むだけで発動します。
~~テーブルHTML~~
<label><input type="checkbox"></label>
</div>
ボタンの文字とかデフォルトの表示行数は
<div class="tableclose">
とすれば、変更できます。
~~テーブルHTML~~
<label data-open-text="▼クリックで開きます" data-close-text="▲クリックで閉じます" data-show="4"><input type="checkbox"></label>
</div>
項目1 | 項目2 | 項目3 | 項目4 | 項目5 | 項目6 | 項目7 |
---|---|---|---|---|---|---|
内容1-1 | 内容1-2 | 内容1-3 | 内容1-4 | 内容1-5 | 内容1-6 | 内容1-7 |
内容2-1 | 内容2-2 | 内容2-3 | 内容2-4 | 内容2-5 | 内容2-6 | 内容2-7 |
内容3-1 | 内容3-2 | 内容3-3 | 内容3-4 | 内容3-5 | 内容3-6 | 内容3-7 |
内容4-1 | 内容4-2 | 内容4-3 | 内容4-4 | 内容4-5 | 内容4-6 | 内容4-7 |
内容5-1 | 内容5-2 | 内容5-3 | 内容5-4 | 内容5-5 | 内容5-6 | 内容5-7 |
内容6-1 | 内容6-2 | 内容6-3 | 内容6-4 | 内容6-5 | 内容6-6 | 内容6-7 |
内容7-1 | 内容7-2 | 内容7-3 | 内容7-4 | 内容7-5 | 内容7-6 | 内容7-7 |
内容8-1 | 内容8-2 | 内容8-3 | 内容8-4 | 内容8-5 | 内容8-6 | 内容8-7 |
内容9-1 | 内容9-2 | 内容9-3 | 内容9-4 | 内容9-5 | 内容9-6 | 内容9-7 |
内容10-1 | 内容10-2 | 内容10-3 | 内容10-4 | 内容10-5 | 内容10-6 | 内容10-7 |
内容11-1 | 内容11-2 | 内容11-3 | 内容11-4 | 内容11-5 | 内容11-6 | 内容11-7 |
内容12-1 | 内容12-2 | 内容12-3 | 内容12-4 | 内容12-5 | 内容12-6 | 内容12-7 |