我需要在HTML文檔的所有元素(除嵌套在特定類中的元素除外)中對文本進行樣式設置。我無法控制HTML,我只能修改CSS。:CSS中沒有選擇器
這裏是一段代碼:
<div class="container">
<div class="column c1">
<div class="text">
text in column 1
</div>
</div>
<div class="column c2">
<div class="text">
text in column 2
</div>
</div>
<div class="column c3">
<div class="text">
text in column 3
</div>
</div>
</div>
我希望所有text
元件,除了在一個c1
元件的那些,是粗體。我事先不知道有多少列。
我試過下面的CSS,它利用了:not
選擇的,但它使一切大膽:
.container {
display: flex;
}
.column {
padding: 0 1em;
}
:not(.c1) .text {
font-weight: bold;
}
爲什麼沒有:not
選擇工作?我究竟做錯了什麼? Here is a jsfiddle試試。
雖然應該指出的是,爲什麼原因':.text'不工作不(.c1)是,根據[MDN(https://developer.mozilla.org/en/docs/Web/CSS/:not),':不(富){}'將匹配任何不富,**包括''和''
**,所以它會匹配'.container .text','HTML .text'和'體.text'。 – 5aledmaged