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,而你的情况是这样,因为它的声明,即两者都是兄弟姐妹.