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