sma*_*man 22 css css-selectors css3
在下面的示例中,我想创建一个CSS规则,该规则仅适用于带有文本"Blockhead"的标题.
<div class="gumby">
<span class="pokey"></span>
<h3>Blockhead</h3>
<h3>Clay rules</h3>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以使用括号,例如(.gumby > .pokey) + h3
?如果没有,我的替代方案是什么?
Bol*_*ock 24
不,括号在CSS选择器中不是有效的运算符.他们是保留给功能符号,如:lang()
,:not()
和:nth-child()
.
你无论如何都不需要它们; .gumby > .pokey + h3
本身就可以正常工作.
这是因为一系列选择器和组合器总是线性读取.组合器没有任何优先权.选择器可以解释为
选择 紧跟在元素后面的
h3
元素
,该元素类pokey
是具有类的元素的子元素gumby
.
而由于节点树是如何工作的,使用的兄弟姐妹和子女组合子在这里意味着两个.pokey
和h3
是孩子.gumby
,而你的情况是这样,因为它的声明,即两者都是兄弟姐妹.