简体   繁体   English

当光标不在父对象上方时隐藏鼠标悬停元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM