更改表的第一<td>列的样式


Answers:


160

您可以使用第n个子选择器

定位第n个元素,然后可以使用:

td:nth-child(n) {  
  /* your stuff here */
}

n从1开始)


22
建议使用td:first-child,主要是因为它对较旧的IE版本具有更多支持。如果浏览器支持不是问题,那么nth-child是一个强大的选择器。
lukek

6
是的,对于第一个元素,first-child效果更好。但是OP要求两者都使用:)
RRikesh 2013年

15
n从1开始,而不是为0
robsch

11

如果必须支持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,后跟段落AND子标题,然后是其他段落。


7

:第n个孩子():第n的类型()伪类允许用户选择与一个式元件。

语法为:nth-​​child(an + b),其中您用选择的数字替换a和b。

例如,:nth-​​child(3n + 1)选择第1个,第4个,第7个等。

td:nth-child(3n+1) {  
  /* your stuff here */
}

:nth-​​of-type()的工作原理相同,只是它仅考虑给定类型的元素(在示例中)。



1

要选择表的第一列,可以使用以下语法

tr td:nth-child(1n + 2){
  padding-left: 10px;
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.