以不同方式设置表格的第一列样式

时间:2013-03-28 05:50:26

标签: css css-selectors padding

如果我有table有两列,如何指定padding或任何其他css,以便它仅适用于<td>的第一列。另外,我如何同样设置 第n 列的样式?

5 个答案:

答案 0 :(得分:111)

您可以使用n-th child selector

定位你可以使用的第n个元素:

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

n从1开始)

答案 1 :(得分:9)

如果您要支持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后跟段落和副标题,然后是其他段落。

答案 2 :(得分:4)

这应该有所帮助。它的CSS3:第一个孩子,你应该说你想要设置的表的第一个trhttp://reference.sitepoint.com/css/pseudoclass-firstchild

答案 3 :(得分:3)

: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()的工作方式相同,只是它只考虑给定类型的元素(在示例中)。

答案 4 :(得分:1)

要选择表格的第一列,您可以使用此语法

tr td:nth-​​child(1n + 2){padding-left:10px;}