tableの列指定で :hover
擬似クラスを使用する場合、:nth-col()
擬似クラスを使用したいところですが、2020/05/30現在、Webブラウザの実装が整っていない為、JavaScriptで代替します。
必要最低限の実装しかしていませんので、適宜改修が必要です。
- セル要素内に子要素が存在し、子要素がhoverされた場合に正しく動作しません。(改善案: 繰り返し処理でセル要素が
現れるまで
parentNode
を確認します) - セル結合されている場合、論理行/論理列を正しく認識できません。(改善案: 左上のセルから順番に走査していき、各セル要素の
colspan
属性値、rowspan
属性値を読み取って、論理行/論理列に該当するセル要素を算出します。ただし、3.の問題は残存しています) - 要素単位でスタイルを適用する為、結合セルの部分的な論理行/論理列にスタイルを適用する方法がありません。
:nth-col()
擬似クラスが実装されるまで、この問題の解消目処は立ちません。
CSSの :hover
擬似クラスによって、hover時のスタイル適用を実装します。
Webブラウザに実装されれば、tableの列指定に、CSSの :nth-col()
擬似クラスも使用できます。
tableの列指定には、colgroup要素にJavaScriptでCSSスタイルを適用する実装とします。