[英]Hide hover element when cursor not over parent
I have multiple inline-block
elements on my project. 我的项目中有多个inline-block
元素。
Each of these elements have a hidden "tooltip" which shows when you hover over them. 这些元素中的每一个都有一个隐藏的“工具提示”,当您将鼠标悬停在它们上面时会显示。
But this tooltip won't hide if cursor over it so, to see the tooltip of another element below you have first to move cursor away and back which is not much user friendly. 但是,如果将光标放在该工具提示上,则该工具提示将不会隐藏,因此要查看下面另一个元素的工具提示,您首先需要将光标移开和移回,这对用户没有太大帮助。
I have made an snippet to better show my problem. 我做了一个片段,以更好地显示我的问题。 What I want is to hide the hover-element
as soon as cursor not over red boxes. 我想要的是将光标hover-element
在红色框hover-element
隐藏hover-element
。
I don't think there's a way with just CSS so any JavaScript/jQuery solution is very welcome. 我不认为仅CSS有一种方法,因此非常欢迎任何JavaScript / jQuery解决方案。
li { display: inline-block; background-color: red; width: 100px; height: 25px; margin-right: 10px; position: relative; } .hover-element { position: absolute; background-color: yellow; z-index: 9999; width: 350px; height: 175px; left: 50%; margin-left: -175px; top: 25px; display: none; } li:hover .hover-element { display: block; }
<ul> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> </ul>
Add the visibility: hidden
property on the .hover-element
on hover. 在悬停.hover-element
上添加visibility: hidden
属性。
li { display:inline-block; background-color:red; width:100px; height:25px; margin-right:10px; position:relative; } .hover-element { position: absolute; background-color:yellow; z-index: 9999; width: 350px; height: 175px; left: 50%; margin-left: -175px; top:25px; display:none; } li:hover .hover-element { display:block; } .hover-element:hover { visibility: hidden; }
<ul> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> </ul>
.hover-element {
pointer-events: none;
}
li { display:inline-block; background-color:red; width:100px; height:25px; margin-right:10px; position:relative; } .hover-element { position: absolute; background-color:yellow; z-index: 9999; width: 350px; height: 175px; left: 50%; margin-left: -175px; top:25px; display:none; } li:hover .hover-element { display:block; } li .hover-element:hover { display:none; }
<ul> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> <li> <div class="hover-element"></div> </li> </ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.