CSS3 - 悬停显示不同元素
是否可以有纯CSS(不是JavaScript):
<ul>
<li>a</li>
<li>b</li>
</ul>
<div id="x" style="display:none;">c</div>
当我悬停
时显示
?is it possible to have purely css (not javascript) this:
<ul>
<li>a</li>
<li>b</li>
</ul>
<div id="x" style="display:none;">c</div>
Display the <div>
when I hover a <li>
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
li
元素位于该ul
中,因此无法再从li:hover
访问#x
。因此,如果您必须仅在li
元素上实现悬停效果,则需要 JavaScript。如果没有,您可以这样做:
但是光标可以位于
ul
本身的任何位置,以便显示#x
,而不是直接位于任何li 上
,这并不完全是您想要的,除非您的li
占据了整个ul
区域。The
li
elements are in thatul
, so#x
is no longer reachable fromli:hover
. So if you must have the hover effect only on theli
elements, you'll need JavaScript.If not, you could do this instead:
But the cursor can be anywhere on the
ul
itself for#x
to show up, rather than being directly on anyli
, which isn't quite what you want unless yourli
s take up the entireul
area.几乎但 li 不是 div#x 的 相邻兄弟 他们如果您将 div 放置在 ul 元素内,则会出现这种情况。
Almost but li are not a Adjacent sibling for div#x They would be if you placed the div inside the ul element.
我认为你需要使用 JavaScript,因为“div”在列表之外。
I think you need to go with JavaScript as the "div" is outside the list.