CSSを使用して、テーブルの2列目のみを変更する方法


124

cssのみを使用して、テーブルの2番目の列のみのcssをオーバーライドするにはどうすればよいですか。

私はすべての列にアクセスできます:

.countTable table table td

私のサイトではないため、このページのhtmlにアクセスして変更することはできません。

ありがとう。

css 

回答:


238

次の:nth-childような疑似クラスを使用できます。

.countTable table table td:nth-child(2)

ただし、これは古いブラウザ(またはIE)では機能しないため、セルにクラスを指定するか、その場合はJavaScriptを使用する必要があります。


これにより、各行の2番目のセルではなく、各テーブルの2番目のセルのみが表示されます。.countTableテーブルが必要ですtr td:nth-​​child(2)
Deeksy

3
@Deeksy-正確ではありません。セレクタが何であるかは問題ではありません。nth-child要素を見つけた後に適用nthされ、セレクタにあるかどうかに関係なく、その要素が持つ親と比較されます。あなたはここでこれが機能しているのを見ることができます:jsfiddle.net/JQQPz
Nick Craver

td:nth-​​child(2)内の要素のcssのみを変更するのはどうですか。<a>タグに似ています。td a:nth-​​child(2){}になるのでしょうか?
Ivo San

1
@ ivory-santos aは、末尾にを追加するだけtd:nth-child(2) aです。たとえば、その要素の下のリンクをスタイルします。
Nick Craver

なぜあなたは2回表を持っていますか(以下の他の答えとは異なり)?
UlFie

26

これを試して:

.countTable table tr td:first-child + td

他の列をスタイルするために繰り返すこともできます:

.countTable table tr td:first-child + td + td {...} /* third column */
.countTable table tr td:first-child + td + td + td {...} /* fourth column */
.countTable table tr td:first-child + td + td + td +td {...} /* fifth column */

1
私は、コードを管理しているサイトの所有者が開発者ではない状況でこれを選択しました。これにより、データテーブルの列の配置を非常に簡単に変更できるようになりました。ここにあるので、どのセレクターブロックが左からどの列にあるかを簡単に知ることができます。ここでも、最もエレガントで効率的な方法ではありませんが、うまくいきました!
エリックBishard

18

テーブルの2番目の列のみを変更するには、以下を使用します。

一般的なケース:

table td + td{  /* this will go to the 2nd column of a table directly */

background:red

}

あなたの場合:

.countTable table table td + td{ 

background: red

}

注:これはすべてのブラウザー(モダンおよび古いブラウザー)で機能するため、古い質問に回答を追加しました


最初の列を選択するための微調整は何ですか?テーブルtd {...}を使用すると、他の列のすべてのセルも選択されます。
j4v1 2015年

1
@ j4v1 table td {background:red;} //最初の列は赤の背景テーブルになりますtd + td {background:blue;} //残りは青になります
Abzoozy

-2

2列目の各セルのクラスを指定できます。

<table>
<tr><td>Column 1</td><td class="col2">Col 2</td></tr>
<tr><td>Column 1</td><td class="col2">Col 2</td></tr>
<tr><td>Column 1</td><td class="col2">Col 2</td></tr>
<tr><td>Column 1</td><td class="col2">Col 2</td></tr>
</table>

これは使えません。私が言ったように、これは私のページではないので、htmlを変更することはできません。

2
@Duniyadndこれは、既存のセレクターの使用方法と比較して、良いアプローチではありません。
12

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.