疑似クラス :has() 使用のおりたたみtable

疑似クラス :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>
とすれば、変更できます。

data-show:

tablecloseテスト

項目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