mic*_*lee 16 html css css-selectors
如果我有这个:
<div class="parent">
<a href="#" id="trigger">Trigger</a>
</div>
<div class="sibling">
<div id="change">Hello</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当#trigger徘徊时,是否有一个选择器来抓取#change?
就像在#trigger上悬停一样,更改.sibling的#change元素的背景.
我正在寻找一个没有javascript的纯CSS解决方案.
Nic*_*lin 17
总之一句:不.
鉴于HTML的当前结构(以及CSS选择器的当前状态),这是不可能的.也许我们会在CSS4中得到类似的东西,但这样的遍历最好留给Javascript.
您显然可以重构您的标记,并使用兄弟选择器:
HTML
<div class="parent">
<a href="#" id="trigger">Trigger</a>
<div class="sibling">
<div id="change">Hello</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#trigger:hover + .sibling #change {
color:red;
}
Run Code Online (Sandbox Code Playgroud)