除了第一个和最后一个之外,我将如何选择表中的所有孩子?我试过这个,但它最终选择了所有不是第一个的孩子和所有不是最后一个的孩子,最终都是孩子:
table.programs tr td:not(:first-child), table.programs tr td:not(:last-child) {
}
我想要所有既不是第一个也不是最后一个的孩子。我怎样才能做到这一点?
除了第一个和最后一个之外,我将如何选择表中的所有孩子?我试过这个,但它最终选择了所有不是第一个的孩子和所有不是最后一个的孩子,最终都是孩子:
table.programs tr td:not(:first-child), table.programs tr td:not(:last-child) {
}
我想要所有既不是第一个也不是最后一个的孩子。我怎样才能做到这一点?
结合使用两个:not()
选择器,从而引用与它们都匹配的元素,即不匹配用作操作数的选择器的元素:not()
:
table.programs td:not(:first-child):not(:last-child)
jQuery 解决方案很好,但如果您想在纯 CSS 中执行此操作,我建议您将规则应用于整个表格,然后为第一个和最后一个孩子重置它们。IE:
table.programs tr td {
/* your rules here */
}
table.programs tr:first-child td:first-child,
table.programs tr:last-child td:last-child {
/* reset your rules here */
}
像这样。
li:nth-child(n+2):nth-last-child(n+2) { background: red; }
满足您的要求
table.programs tr td:nth-child(n+2):nth-last-child(n+2) { /* Your Style */ }
我认为这应该适合你:
table.programs tr td:not(:first-child,:last-child)
它以这种方式工作
table.programs tr td:nth-child(1n+2):not(:last-child)