<h1>This text is contained directly inside the container. It is not selectable by CSS. It is an anonymous element. <small>This text is inside a small element</small></h1>
<hr>
<h1><span>This text is contained in a span. It is selectable by CSS</span> <small>This text is inside a small element</small></h1>
3条答案
按热度按时间djmepvbi1#
h1:not(small)
您的选择器
h1:not(small)
不工作,因为它说:small
元素的h1
元素。*这与单独使用
h1
选择器相同。h1 :not(small)
你会更接近
h1 :not(small)
,它说:h1
的所有后代,small
元素除外。*嘣!正中你下怀。
除了直接包含在元素中的文本(即周围没有标签的文本)成为匿名元素。和anonymous elements are not selectable by CSS。
CSS父选择器
要排除
small
元素,它必须将自己标识为h1
的子元素。但是有no parent selector in CSS。
解决方案:两个选择器
你需要两个选择器来完成这个工作:
更多信息
r1zhe5dt2#
这是最接近于保留样式而不使用父div实现的任何css。这个功能还没有完全集成到所有的浏览器中,但它应该可以在一些浏览器中工作。希望,这有帮助。
浏览器支持-
这里在做什么
小标签保留了其原始CSS,不受其他样式的影响。您可以将此方法应用于要保留其样式的任何子元素。
bf1o4zei3#
将样式应用到
h1
上,然后将这些更改恢复到small
中,例如,如果您只想更改颜色,则可以使用以下代码;或者,如果您有多个样式更改;
请注意,
initial
CSS值可以在除IE和Opera Mini之外的所有浏览器上使用。查看此页面以获取更多信息