Orm*_*moz 2 html css html5 css-selectors css3
我有一个像这样的HTML页面:
<p></p>
<p></p>
<p></p>
<div></div>
<p></p>
<p></p>
<p></p>
<div></div>
Run Code Online (Sandbox Code Playgroud)
这种模式还在继续.
通常,div元素不应显示为:
div{display:none;}
Run Code Online (Sandbox Code Playgroud)
但是当一个段落悬停时,应该显示之后的第一个div元素:
p:hover+div{display:block;}
Run Code Online (Sandbox Code Playgroud)
但这只适用于以前的p.还有这个:
p:hover~div{display:block;}
Run Code Online (Sandbox Code Playgroud)
显示所有divs后徘徊p不仅仅是第一个后.
如何在悬停后只显示第一个不相邻的div p?
其实我正在寻找一个选择器first-sibling.
您应该使用以下设置:
p:hover ~ div ~ div {
display:none;
}
Run Code Online (Sandbox Code Playgroud)
这将在悬停段落的第div一个之后将显示设置为无div.
div {
display: none;
}
p:hover ~ div {
display: block;
}
p:hover ~ div ~ div {
display: none;
}Run Code Online (Sandbox Code Playgroud)
<p>p1</p>
<p>p2</p>
<p>p3</p>
<div>d1</div>
<p>p1</p>
<p>p2</p>
<p>p3</p>
<div>d2</div>
<p>p1</p>
<p>p2</p>
<p>p3</p>
<div>d3</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |