私はこの問題で立ち往生しているので、どんな助けでもいただければ幸いです。複数行のテーブルがあります。行内の各セルは特定のクラスに属しています。これらのクラス名を使用してセルに色を付けています。
これが私のテーブルの行の例です。
<tr>
<td class = "summarypage-odd-column">Theme</td> <td class = "summarypage-odd-column">Q2 2009</td> <td class = "summarypage-odd-column">Q1 2009</td>
<td class = "summarypage-even-column">Theme</td> <td class = "summarypage-even-column">Q2 2009</td> <td class = "summarypage-even-column">Q1 2009</td>
<td class = "summarypage-odd-column">Business Area</td> <td class = "summarypage-odd-column">Q1 2009</td> <td class = "summarypage-odd-column">Q1 2008</td>
</tr>
ユーザーがマウスポインターをその行の任意のセルの上に移動すると、各行が強調表示されます。それを実現するために、次のCSSコードを使用しました。
tr:hover {
background-color: #FFFAF0; color: #000;
}
残念ながら、各テーブルデータセルにクラス名があるため、ホバーが機能しません。しかし、データセルからクラス名を削除すると、ホバーが機能します。
私の質問は、行内にテーブルデータセルのクラス名を保持したまま、テーブル行でホバーを機能させる方法があるかどうかです。
これを試して:
tr:hover td {
background-color: #FFFAF0; color: #000;
}
安全のために、これを既存のtd
スタイル宣言の後に配置します
クラス名内のCSS命令は、<tr>
命令よりも優先されます。
これを修正するには、CSS内でtd.summarypage-odd-column:hover、td.summarypage-even-column:hoverを使用します。
注:IE6を使用している場合、:hoverはリンクでのみ機能します(a:hoverなど)。
td
background-colorはtr background-colorを上書きすると思います。 @Nick Craverによって与えられた解決策は良いものです。
行の背景色ではなく、セルの背景色を変更する必要があります。
tr:hover td {
...
}
間にスペースを入れないでください
tr:hover(space)td
私はスペースを与えていたので、それは私のために働いていました。
これは私には起こりません。 影響があるかどうかを確認するときは、クラス名のみを追加/削除していることを確認し、td
sにそれらがないことを確認してくださいtr
の背景を覆う独自の背景。
おそらく重要な指定子を使用して、ホバースタイルがクラスで定義された背景をオーバーライドすることを確認する必要があります。
tr:hover {
background-color: #FFFFAF0 !important;
color: #000 !important;
}
興味深いことに、そのブラウザーはタグにホバーを適用するだけなので、これはIE6では機能しません。