2つの列を持つtable
がある場合、<td>
sの最初の列にのみ適用されるようにpadding
または他のcssを指定するにはどうすればよいですか。また、n-th列を同様にスタイルするにはどうすればよいですか?
n番目の子セレクター を使用できます。
n番目の要素をターゲットにするには、次を使用できます。
td:nth-child(n) {
/* your stuff here */
}
(n
は1から始まります)
IE7をサポートする必要がある場合、より互換性のあるソリューションは次のとおりです。
/* only the cells with no cell before (aka the first one) */
td {
padding-left: 20px;
}
/* only the cells with at least one cell before (aka all except the first one) */
td + td {
padding-left: 0;
}
li
でも問題なく動作します。一般的な兄弟セレクタ~
は、見出しh1の後に段落と小見出しが続き、再び他の段落が続くような混合要素に適している場合があります。
これが役立つはずです。そのCSS3:first-childで、テーブルの最初のtr
をスタイルすることを言う必要があります。 http://reference.sitepoint.com/css/pseudoclass-firstchild
:nth-child()および:nth-of-type()疑似クラスを使用すると、式を使用して要素を選択できます。
構文は:nth-child(an + b)で、aとbを任意の数字に置き換えます。
たとえば、:nth-child(3n + 1)は、1番目、4番目、7番目などの子を選択します。
td:nth-child(3n+1) {
/* your stuff here */
}
:nth-of-type()は同じように機能しますが、指定されたタイプの要素のみを考慮します(この例では)。
テーブルの最初の列を選択するには、次の構文を使用できます
tr td:nth-child(1n + 2){padding-left:10px;}