cssセレクタを使用するデータを持つテーブル行だけがポインタとしてカーソルを表示するようにセレクタを書く方法を教えてください。私は以下を試しましたが、ノー以外cssセレクタを使用してテーブルヘッダなしのテーブル行を選択
このクロスブラウザは、IE6で動作しますか?
cssセレクタを使用するデータを持つテーブル行だけがポインタとしてカーソルを表示するようにセレクタを書く方法を教えてください。私は以下を試しましたが、ノー以外cssセレクタを使用してテーブルヘッダなしのテーブル行を選択
このクロスブラウザは、IE6で動作しますか?
これは有効なCSSセレクタではありません。 :not()
の中にコンビネータを置くことはできません。あなたの場合は
table tbody tr {
cursor: pointer;
}
:
あなたの最善の策は、<thead>
内のヘッダー行(すなわち<th>
要素を含む<tr>
要素)を入れて、あなたのテーブルの<tbody>
の行の残りの部分を残して、単にこれを使用することですあなたのHTMLを変更することはできません.CSSセレクタだけでは不可能です。特にIE6をサポートする必要はありません。代わりにJavaScriptを使用してください。ここ義務jQueryの例だ:
$('table tbody tr:not(:has(th))').css('cursor', 'pointer');
あなたのヘッダー行がは常にが最初の行になりますと仮定すると、あなたはこれを行うこともできます。これは、以外のすべてのtr
要素を選択
table tr:not(:first-child) {
background:red;
}
first-child
(のように、一致する要素の最初)
このは、IE6またはIE9以外のIEの他のバージョンでは動作しません()。
しかし、IE6サポートが必要な場合は、JavaScriptを使用する必要があります。
代わりに 'table tr + tr'を使ってIE7とIE8に対応できますが、IE6は手の届かないところです。 – BoltClock
+1は横向きに考える – Deeptechtons
<thead>タグを使用するとできます。私の場合テーブルで
は、次のようになります。
<table>
<thead> <tr><th>... </thead>
<tbody> <tr><td>... </tbody>
</table>
これは、すべてのテーブルに適用されます:私は「
thead+tbody tr{
background: red;
}
:
これは、ヘッダのみを持つテーブルに対してです私は確かにCSS3でそれを行う方法がある... – Purag
@BoltClock私たちはGridview(asp.netコントロール)のスタイルを使用しているのであまり選択肢がない(彼らは 'thead 'の中に' th'を表示しない) – Deeptechtons
@Deeptechtons:CSSセレクタを使用して、特にIE6のサポートではどこにもいらないのではないかと心配している。私の編集を参照してください。 – BoltClock