我想将一个背景颜色应用于COLGROUP,但只能在表的TBODY中.给出一个典型的日历表,其结构如下:
<table> <colgroup class="weekdays" span="5"/> <colgroup class="weekend" span="2"/> <thead> <tr> <td/><td/><td/><td/><td/> <!-- I'd like the columns of the following two cells to be untouched. --> <td/><td/> </tr> </thead> <tbody> <tr> <td/><td/><td/><td/><td/> <!-- I'd like selector to apply the style only to the columns of the following two cells --> <td/><td/> </tr> ... </tbody> </table>
有没有一个CSS选择器(或类似的东西),让我将不同的风格应用于THEAD和TBODY中的“周末”COLGROUP?
解决方法
以HTML为例,我不相信有一个选择器可以实现你想要的. colgroup元素在CSS行为方面是相当独特的,因为设置colgroup的样式最终会影响与colgroup完全无关的(通过CSS继承规则)的元素.这意味着您不能使用colgroup.weekend tbody等选择器,因为tbody不是colgroup的小孩(反之亦然),而且它不会继承这种方式.
最接近我想要达到的目标是:
thead td {background-color:white; }
colgroup.weekend {background-color:red; }
thead td是一个比colgroup.weekend更具体的选择器,所以你最终’覆盖’colgroup的标题的颜色.