我需要在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