0

次のような状況があります:

.table_green {
background: #B4E391;
}
.data_table tbody tr:hover {
background-color: #fff;
cursor: pointer;
}
.unclickable_table tbody tr:hover {
background-color: inherit;
cursor: default;
}

現在、tr元は緑色であり、テーブルがclass='data_table unclickable_table'設定されているときに、クラスtrを持つテーブルにカーソルを合わせると、プロパティは変更されず、緑色のままですが、機能していないようですtable_greenbackground-colorinherit

html の例:

<table class='data_table unclickable_table'>
<tbody>
<tr class='table_green'>
 <td>Untill it goes Click!</td>
</tr>
</tbody></table>

または、このフィドル: http://jsfiddle.net/nyDNc/1/

何か助けはありますか?

4

3 に答える 3

1

これは解決策です。うまくいけば、テーブル要素のスタイルに依存するため、構造内で機能するものです。

inherit背景なしのテーブルから継承しているため、機能しません。代わりに、オン ホバーtrの色を設定して変更することで、継承元のコンテキストを持つことができます。td

こちらの JSFiddleの作業例を参照してください。

CSS は次のとおりです。

.table_green {
  background: #B4E391;
}
.data_table tbody tr:hover td {
  background-color: #fff;
  cursor: pointer;
}
.unclickable_table.data_table tbody tr:hover td {
  background-color: inherit;
  cursor: default;
}
于 2013-06-03T14:20:28.440 に答える
0

最初のクラスの効果をオーバーライドするために、2 番目のクラスを追加するのはなぜですか。影響を与えたくない行の「data_table」クラスを削除してみませんか。

于 2013-06-03T14:19:01.433 に答える
0

あなたのことをよく理解しているかどうかはわかりませんが、

DEMO IS HERE:
http://jsfiddle.net/nyDNc/1/
于 2013-06-03T14:36:12.530 に答える