繁体   English   中英

悬停另一个div时隐藏div

[英]Hide div when hovering another div

所以我在div内有几个div像这样:

  <div class="flip-container">
        <div class="flipper">
            <a href="#" data-reveal-id="pc1">
                <div class="inner" style="background-color:#ea6524;">
                    <p class="text">title</p>
                    <img src="1.png" class="img" />
                </div>
            </a>
        </div>
   </div>

说明:现在使用了翻转容器和翻转器,因为当我将鼠标悬停在此div上时,会触发一个css转换来翻转div。 当单击内部div时,href只是允许打开一个带说明的div。内部div是一个带有文本和图像的正方形。

我想做什么:当我将鼠标悬停在翻转式容器上时,我想隐藏文本“ title”和img“ 1.png”。

我怎样才能做到这一点?

我试图将display:hidden添加到类文本中,但仅当我将鼠标悬停在实际文本上时才起作用,而当我将翻转容器背景悬停时则不起作用。

谢谢您的帮助

如果可能的话,我宁愿使用纯CSS解决方案,如果不能,那么javascript解决方案也可以。

这应该可以解决问题:

.flip-container:hover .text, .flip-container:hover img {
    display: none;
}

或者,您可以使用visibility: hidden因为这将使文档中的元素保持流动,而不是一起删除它们。

OP,

在这种情况下,我建议您进行visibility:hiddendisplay:none; 这是使用这种方法的小提琴: http : //jsfiddle.net/wEr3T/1/

简而言之,“ visibility:hidden实际上只会隐藏元素,而仍会占用之前的空间,因此不会影响布局。

相反, display:none; 导致无法渲染,因此以前占用的空间现在无法计算。 因此,将鼠标悬停在显示/隐藏已设置为display:none元素上可能会导致一些不希望的闪烁。

通过设置display: none鼠标悬停在#flip-container时隐藏文本和图像display: none可能会导致闪烁并更改父容器的布局。 因此,而是通过设置visibility: hidden使它们透明。

.flip-container:hover img {
visibility:hidden
}
.flip-container:hover .text {
visibility:hidden
}

我已经为您创建了jsFiddle

尝试这个...

 .flip-container:hover .text, .flip-container:hover img { visibility: hidden; } 
  <div class="flip-container"> <div class="flipper"> <a href="#" data-reveal-id="pc1"> <div class="inner" style="background-color:yellow;"> <p class="text" style="color:red">title</p> <img src="//placehold.it/100x100" class="img" /> </div> </a> </div> </div> 

展示<div>当悬停在另一个 div 及其子项上时</div><div id="text_translate"><p>我有一个 HTML div,里面有孩子。 我有一个附加到 div 的 jQuery 鼠标悬停事件。 鼠标悬停时,我显示另一个 div,鼠标悬停时,我隐藏它。</p><p> 但是,当我将鼠标悬停在“premiumlink”div 上时,一切正常,但是当我将鼠标移到 div 的一个子项上时,有条件显示的 div 会隐藏,但随后 jQuery 发现父 div 仍在悬停,所以它再次显示它。 然后,如果我将 cursor 移回父 div,则该 div 被隐藏然后再次显示。</p><p> 我怎样才能让鼠标悬停和鼠标悬停适用于所有孩子,而不是这个跳跃的 state?</p><p> 这是我的 HTML</p><pre> &lt;div class="platinumlevel" id="premiumlink"&gt; &lt;h1&gt; &lt;img src="~/Content/Images/colorworld.png" alt="Logo" class="eventimage" /&gt; &lt;a href="@Url.Action("Exhibitor1Attendee", "Home")" class="landing"&gt;Company Name&lt;/a&gt; &lt;/h1&gt; &lt;div id="demopreview" style="display: none;"&gt; I should be displayed when "premiumlink" and all it's children are mouseovered &lt;/div&gt; &lt;/div&gt;</pre><p> JS</p><pre> $("#premiumlink").mouseover(function () { $('#demopreview').show(1000); }).mouseout(function () { $('#demopreview').hide(1000); });</pre></div>

[英]Display <div> when hovering over another div and its children

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 悬停在另一个div上时显示和隐藏按钮 使用jQuery将另一个div悬停时移动div 将鼠标悬停在另一个div上时更改Div属性? 悬停时显示div,不显示时隐藏 如何在悬浮图像或文本时隐藏一个div并隐藏另一个div? 将鼠标悬停在另一个div上时,将其定位到特定div 悬停另一个时更改div的CSS(JQuery) 将鼠标悬停在div上时,如何将一个类添加到另一个div? 展示<div>当悬停在另一个 div 及其子项上时</div><div id="text_translate"><p>我有一个 HTML div,里面有孩子。 我有一个附加到 div 的 jQuery 鼠标悬停事件。 鼠标悬停时,我显示另一个 div,鼠标悬停时,我隐藏它。</p><p> 但是,当我将鼠标悬停在“premiumlink”div 上时,一切正常,但是当我将鼠标移到 div 的一个子项上时,有条件显示的 div 会隐藏,但随后 jQuery 发现父 div 仍在悬停,所以它再次显示它。 然后,如果我将 cursor 移回父 div,则该 div 被隐藏然后再次显示。</p><p> 我怎样才能让鼠标悬停和鼠标悬停适用于所有孩子,而不是这个跳跃的 state?</p><p> 这是我的 HTML</p><pre> &lt;div class="platinumlevel" id="premiumlink"&gt; &lt;h1&gt; &lt;img src="~/Content/Images/colorworld.png" alt="Logo" class="eventimage" /&gt; &lt;a href="@Url.Action("Exhibitor1Attendee", "Home")" class="landing"&gt;Company Name&lt;/a&gt; &lt;/h1&gt; &lt;div id="demopreview" style="display: none;"&gt; I should be displayed when "premiumlink" and all it's children are mouseovered &lt;/div&gt; &lt;/div&gt;</pre><p> JS</p><pre> $("#premiumlink").mouseover(function () { $('#demopreview').show(1000); }).mouseout(function () { $('#demopreview').hide(1000); });</pre></div> 悬停另一个div时如何保持div可见
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM