我有一个
HTML表格,我想要突出显示3行的交替组,以便突出显示行0-3,不显示行4-6,突出显示行7-9等.
到目前为止我提出的最佳解决方案是:
tr:nth-child(6n + 1),tr:nth-child(6n + 2),tr:nth-child(6n + 3) { background-color:#eee; }
可以将这些选择器压缩成单个选择器吗?
解决方法
是的,它可能在一个选择器(但它是最好的???)
如果以十人为一组(正如你的评论所说的那样是你的最终目标),那么可能不值得做,而不是拥有十个个人选择器,因为个人选择器可能会更清楚.
三人小组(see fiddle)
tr:not(:nth-child(6n+4)):not(:nth-child(6n+5)):not(:nth-child(6n+6)) { background-color: #eee; }
十人团体(see fiddle)
tr:not(:nth-child(20n+11)):not(:nth-child(20n+12)):not(:nth-child(20n+13)):not(:nth-child(20n+14)):not(:nth-child(20n+15)):not(:nth-child(20n+16)):not(:nth-child(20n+17)):not(:nth-child(20n+18)):not(:nth-child(20n+19)):not(:nth-child(20n+20)) { background-color: #eee; }
这显然不会消除您希望避免的代码复制/粘贴问题,并且对于它是否符合“浓缩”条件存在疑问.但是,它被缩减为单个选择器.