Css 从全局样式中排除ID

Css 从全局样式中排除ID,css,Css,我正在设置列表项的样式,如下所示: ul.list li { background: #FFFFFF; padding: 0 5px 0 5px; height: 20px; } ul.list li:hover { background: #F7F7F7; } 但是我想为列表的标题定义一个特殊的列表项,只是它也继承了以前定义的样式。我知道我可以给上面的造型上一堂课,但那感觉很麻烦。我是否必须手动“撤消”特殊列表项的所有内容,或者为上面的样式设置一个类?还是有

我正在设置列表项的样式,如下所示:

ul.list li {
    background: #FFFFFF;
    padding: 0 5px 0 5px;
    height: 20px;
}

ul.list li:hover {
    background: #F7F7F7;
}
但是我想为列表的标题定义一个特殊的列表项,只是它也继承了以前定义的样式。我知道我可以给上面的造型上一堂课,但那感觉很麻烦。我是否必须手动“撤消”特殊列表项的所有内容,或者为上面的样式设置一个类?还是有更好的方法?也许我不应该用列表项作为标题

ul.list li.header {
    font-size: 16px;
    font-weight: bold;
}

如果列表的标题必须在列表中,我可能会(如您所述)“手动撤消”它们:

没那么糟


如果您只需要支持,您可以这样做:

.list li:not(:first-child) {
    background: #FFFFFF;
    padding: 0 5px 0 5px;
    height: 20px;
}
.list li:first-child {
    font-size: 16px;
    font-weight: bold;
}

.list li:hover {
    background: #F7F7F7;
}

这消除了对任何类的需要(尽管如果您想保留该类,可以将
:first child
替换为
。header

如果您可以自由使用高级CSS3选择器,您可以使用
:not()
选择器:

ul.list li:not(.header) {
    background: #FFFFFF;
    padding: 0 5px 0 5px;
    height: 20px;
}

否则,您只需手动覆盖它们。

我正在制作这个供我使用,所以我可以保证它只能在Google Chrome中看到。我会玩CSS3。谢谢:)我只需要支持Google Chrome,所以我会尝试CSS3方式,谢谢:)
ul.list li:not(.header) {
    background: #FFFFFF;
    padding: 0 5px 0 5px;
    height: 20px;
}