前提・実現したいこと
cssのみでテーブルのセルにマウスがホバーした際に横・縦をハイライトにしたい
発生している問題・エラーメッセージ
上記画像のようにnth-child(odd)またはnth-child(even)を使用した際
歯抜けのようになってしまいます。
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>ストライプテーブル -cssのみ</title> 8 <link rel="stylesheet" href="css/common.css"> 9</head> 10<body> 11 <table> 12 <thead> 13 <tr> 14 <th>見出し1</th> 15 <th>見出し2</th> 16 <th>見出し3</th> 17 </tr> 18 </thead> 19 <tbody> 20 <tr> 21 <td>データ1</td> 22 <td>データ2</td> 23 <td>データ3</td> 24 </tr> 25 <tr> 26 <td>データ4</td> 27 <td>データ5</td> 28 <td>データ6</td> 29 </tr> 30 <tr> 31 <td>データ7</td> 32 <td>データ8</td> 33 <td>データ9</td> 34 </tr> 35 <tr> 36 <td>データ10</td> 37 <td>データ11</td> 38 <td>データ12</td> 39 </tr> 40 <tr> 41 <td>データ13</td> 42 <td>データ14</td> 43 <td>データ15</td> 44 </tr> 45 </tbody> 46 </table> 47</body> 48</html>
css
1@charset "UTF-8"; 2 3table { 4 margin: 50px auto; 5 border-collapse: collapse; 6 overflow: hidden; 7} 8 9th { 10 background: #4f4f4f; 11 color: #fff; 12 width: 100px; 13} 14 15td { 16 text-align: center; 17} 18 19th, td { 20 padding: 5px; 21 border: 1px solid #000; 22 position: relative; 23} 24 25 tr:nth-child(even) { 26 background: #f2f2f2; 27} 28 29tr:hover { 30 background: #5981a8; 31} 32 33tr:hover { 34 background: #5981a8; 35} 36 37td:hover::after { 38 content: ""; 39 background: #5981a8; 40 width: 100%; 41 height: 200vh; 42 position: absolute; 43 top: -100vh; 44 left: 0; 45 z-index: -1; 46} 47 48
試したこと
その1
nth-childに対してz-indexの重なり順を変更
css
1tr:nth-child(even) { 2 background: #f2f2f2; 3 position: relative; 4 z-index: -2; 5}
変化はありませんでした
その2
thとtdに対してz-indexの重なり順を変更
css
1th, td { 2 padding: 5px; 3 border: 1px solid #000; 4 position: relative; 5 z-index: 0; 6}
つたない説明で申し訳ありませんが
もしcssのみで可能なのであればご教授お願い致します。
補足情報(FW/ツールのバージョンなど)
端末:Windows10 Home
テキストエディタ:VS Code
ブラウザ:Chrome
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/15 03:38