這可能是一個非常愚蠢的問題,但我不能得到:不是選擇器在CSS中工作。除非它有一個名爲「nocolor」的類,否則我想爲我的頁面中的所有文本着色。下面的代碼,我沒有看到這個問題:CSS:不是選擇器不工作
*:not(.nocolor) {
color: #f00;
}
<h2>Hello</h2>
<h2 class="nocolor">Hello</h2>
這可能是一個非常愚蠢的問題,但我不能得到:不是選擇器在CSS中工作。除非它有一個名爲「nocolor」的類,否則我想爲我的頁面中的所有文本着色。下面的代碼,我沒有看到這個問題:CSS:不是選擇器不工作
*:not(.nocolor) {
color: #f00;
}
<h2>Hello</h2>
<h2 class="nocolor">Hello</h2>
我對這種行爲感到驚訝,但*選擇適用於一切讓你不得不看出來的應用程序父元素(如body和html標籤本身)。
您可以通過添加body
到選擇修復它,就像這樣:
body *:not(.nocolor) {
color: red;
}
它的工作原理,謝謝! –
加入'* {color:#000;/*或任何* /}'之前'*:not()'選擇器也適用。 –
是否可以將非選擇器應用於其中的所有孩子?如果我想更改ncolor類中的div標籤的顏色,它不起作用 –
這是因爲*
應用於包括body
,它不具有.nocolor
類的每一個元素。
我真的很想知道爲什麼會出現這種情況。我測試過的每個瀏覽器都具有相同的行爲。我想它必須在規範的某個地方。 –