Html 选择除一个元素以外的所有元素

Html 选择除一个元素以外的所有元素,html,css,css-selectors,Html,Css,Css Selectors,我试图找到一种方法来选择除一个特定元素之外的所有元素。在这种情况下,:not(选择器)不工作 除了一个指定的元素外,选择容器中所有元素的最佳方法是什么 .container非:(.test2){ 颜色:红色 } 检验 检验 检验 检验 测试2'> 这是正确的语法,您应该匹配同级而不是父级 .container*:不是(.test2){ 颜色:红色 } 检验 检验 检验 检验 测试2'> 更正语法(在“not”前面添加“:”: .container:不是(.test2){ 颜色:红色;

我试图找到一种方法来选择除一个特定元素之外的所有元素。在这种情况下,
:not(选择器)
不工作

除了一个指定的元素外,选择容器中所有元素的最佳方法是什么

.container非:(.test2){
颜色:红色
}

检验

检验

检验

检验

测试2'>


这是正确的语法,您应该匹配同级而不是父级

.container*:不是(.test2){
颜色:红色
}

检验

检验

检验

检验

测试2'>

更正语法(在“not”前面添加“:”:

.container:不是(.test2){
颜色:红色;
}

检验

检验

检验

检验

测试2'>

使用

选择除
.test2以外的所有内容


在您的示例中,所有伪类都以一个

Not运算符开头,因为没有一个元素同时具有.test和.test2。如果将其保留为“.container.test{”它也会起作用。不,你不必指定同级。@Ahmed Masud已经纠正了。。我的错误已经纠正了。@Zolva你的回答说你必须指定同级,你不需要!你只需使用:not pseudo类来选择正确的子级。这次你放了一个元素选择器,这是一个反模式。也许吧*代替p会更好,因为这将真正选择除条件外的一切。不需要在某个标签中操作。他只需要纠正他的语法。你是对的。有比我更好的答案。现在像这样更改你的答案是不公平的…OP接受了旧的答案,而这个有了新的含义…你领导h我走错了路!没错,我想删除我的答案,但这是不可能的。所以我决定至少坚持使用最好的答案,这样别人就可以使用它(我甚至投票支持@ahmed masud的答案)。您的冒号放错了位置。应该在
之前,而不是
之后。这应该是正确的answer@user8758206你接受了一个有效的答案,但它与你的问题无关,你只是有一个打字错误,你不需要任何标签选择器,除非你想更具体
.container :not(.test2) {
        color: red;
 }