如果我有table
有两列,如何指定padding
或任何其他css,以便它仅适用于<td>
的第一列。另外,我如何同样设置 第n 列的样式?
答案 0 :(得分:111)
答案 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:第一个孩子,你应该说你想要设置的表的第一个tr
。 http://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;}