这让我发疯:
HTML:
<div><h1>Hello World!</h1></div>
CSS:
*:not(div) h1 { color: #900; }
这不是读到“选择所有h1
祖先不是div
元素的元素吗?”。因此,“ Hello World!” 不应显示为红色,但仍然是。
对于上述标记,添加子组合器的工作原理是:
*:not(div) > h1 { color: #900; }
但是,h1
如果它不是div
元素的子元素,则不会影响元素。例如:
<div><article><h1>Hello World!</h1></article></div>
这就是为什么我想将h1
元素表示为元素的后代而不是子div
元素。任何人?
*
,即:not(div)
,就像您指定.class
或#id
不指定一样*
。