【发布时间】:2022-12-17 13:54:52
【问题描述】:
这让我发疯:
HTML:
<div><h1>Hello World!</h1></div>
CSS:
*:not(div) h1 { color: #900; }
这不是读作“选择所有祖先不是div 元素的h1 元素...?”因此,“你好世界!”不应该是红色的,但它仍然是。
对于上面的标记,添加子组合器是可行的:
*:not(div) > h1 { color: #900; }
但如果它不是 div 元素的子元素,则不会影响 h1 元素。例如:
<div><article><h1>Hello World!</h1></article></div>
这就是为什么我想将 h1 元素表示为 div 元素的后代,而不是子元素。任何人?
【问题讨论】:
-
附带说明一下,当您使用任何其他类型的选择器时,您可以立即删除
*,即:not(div),就像您指定.class或#id而没有*一样。
标签: html css css-selectors