簡體   English   中英

懸停時不顯示 Div?

[英]Div not showing on hover?

所以,我試圖做到這一點,所以當我將鼠標懸停在圖像上時,div 就會出現。 不幸的是,我無法讓它這樣做,而且我不知道為什么它不起作用。

這是我的代碼:

 .summary:hover { opacity: .6; -moz-transition: all.1s ease-in-out; -o-transition: all.1s ease-in-out; -webkit-transition: all.1s ease-in-out; transition: all.1s ease-in-out; }.summaryOverlay { position: absolute; margin-left: 5%; margin-top: 3%; height: 200px; width: 280px; z-index: 2; background-color: #E7DFDD; color: #0E0B16; font-family: Verdana; font-size: 15px; opacity: .9; -moz-transition: all.1s ease-in-out; -o-transition: all.1s ease-in-out; -webkit-transition: all.1s ease-in-out; transition: all.1s ease-in-out; text-align: center; display: none; }.summary:hover.summaryOverlay { display: block; }
 <div class="leftAlign" id="lastWish"> <img class="summary" alt="the last wish" src="lastWish.jpg" style="width: inherit; height: inherit;" /> </div> <div class="summaryOverlay"> Geralt is a witcher. <br><br> &nbsp;Yet he is no ordinary killer-for-hire. <br><br> His sole purpose: to destroy the monsters that plague the world. <br><br> But not everything monstrous-looking is evil and not everything fair is good. . . and in every fairy tale there is a grain of truth. </div>

因為.summaryOverlay不是.summary的孩子,正如您在此處所述:

.summary:hover .summaryOverlay {
  display: block;
}

所以你需要懸停在.leftAlign.summary的父級)這是.summaryOverlay兄弟,你需要使用相鄰的兄弟選擇器+

注意:刪除內聯樣式,使用它們是一種不好的做法

 .summary:hover { opacity: .6; -moz-transition: all.1s ease-in-out; -o-transition: all.1s ease-in-out; -webkit-transition: all.1s ease-in-out; transition: all.1s ease-in-out; }.summaryOverlay { position: absolute; margin-left: 5%; margin-top: 3%; height: 200px; width: 280px; z-index: 2; background-color: #E7DFDD; color: #0E0B16; font-family: Verdana; font-size: 15px; opacity: .9; -moz-transition: all.1s ease-in-out; -o-transition: all.1s ease-in-out; -webkit-transition: all.1s ease-in-out; transition: all.1s ease-in-out; text-align: center; display: none; }.leftAlign:hover +.summaryOverlay { display: block; }
 <div class="leftAlign" id="lastWish"> <img class="summary" alt="the last wish" src="//placehold.it/100x100" /> </div> <div class="summaryOverlay"> Geralt is a witcher. <br><br> &nbsp;Yet he is no ordinary killer-for-hire. <br><br> His sole purpose: to destroy the monsters that plague the world. <br><br> But not everything monstrous-looking is evil and not everything fair is good. . . and in every fairy tale there is a grain of truth. </div>

您的 CSS並未要求瀏覽器按您的預期在將鼠標懸停在圖像上時顯示div 相反,它要求瀏覽器顯示.summary級,它有一個類summaryOverlay img永遠不能有子元素,對嗎? 即使可以, .summaryOverlay也不是它的孩子。 所以,它不會像你預期的那樣工作。 試試這個:

#lastWish:hover + .summaryOverlay{
  display:block;
}

除非有任何 CSS 特性問題,否則它應該能滿足您的需求。 讓我知道事情的后續。

顯示/隱藏<div>基於<li> 。徘徊()</li></div><div id="text_translate"><p> 我正在制作一個菜單,該菜單將通過.slideDown()顯示&lt;div id="menuDiv"&gt;基於哪個 ID 指定&lt;li&gt;的&lt;div id="menuDiv"&gt;的&lt;ul&gt; cursor 在下面。 此外,當 cursor 離開&lt;div id="menuContainer"&gt;時, &lt;div id="menuDiv"&gt;應該.slideUp() ,除非 cursor 在&lt;div id="menuDiv"&gt;本身上下降。</p><p> 我有這個標記:</p><pre> &lt;div id="menuContainer"&gt; &lt;:-- this is styled to be your standard CSS &lt;ul&gt; menu (&lt;ul&gt;'s list-style; none: &lt;li&gt; float: right) --&gt; &lt;ul&gt; &lt;li id="overSlide1"&gt;&lt;a href="#1" class="linkClass"&gt;Alpha&lt;/a&gt;&lt;/li&gt; &lt;li id="overSlide2"&gt;&lt;a href="#2" class="linkClass"&gt;Beta&lt;/a&gt;&lt;/li&gt; &lt;li id="overSlide3"&gt;&lt;a href="#3" class="linkClass"&gt;Gamma&lt;/a&gt;&lt;/li&gt; &lt;li id="overSlide4"&gt;&lt;a href="#4" class="linkClass"&gt;Theta&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div id="menuDiv"&gt; &lt;!-- This is position right under the &lt;div id="menuContainer"&gt; via CSS --&gt; &lt;/div&gt;</pre><p> 並為 Jquery 執行此操作:</p><pre> $(document).ready(function(){ $("#overSlide1").hover(function(){ $("#menuDiv").slideDown(250, function(){ }); }, function(){ }); $("#overSlide2").hover(function(){ $("#menuDiv").slideUp(250, function(){ }); }, function(){ }); $("#overSlide3").hover(function(){ $("#menuDiv").slideDown(250, function(){ }); }, function(){ }); $("#menuDiv").hover(function(){ }, function(){ $(this).slideUp(75); }); });</pre><p> 我遇到了“除非 cursor 超出&lt;div id="menuDiv"&gt;本身”的問題。</p></div>

[英]Showing/Hiding <div> Based on <li>.hover()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 div不在圖像懸停時顯示 Div沒有正確顯示懸停功能 在懸停上顯示DIV-自動溢出 需要幫助顯示div懸停 懸停效果未在子div中顯示 正常或懸停時div中未顯示背景圖片 懸停img時顯示所有div 僅使用CSS懸停顯示相鄰的div 顯示/隱藏<div>基於<li> 。徘徊()</li></div><div id="text_translate"><p> 我正在制作一個菜單,該菜單將通過.slideDown()顯示&lt;div id="menuDiv"&gt;基於哪個 ID 指定&lt;li&gt;的&lt;div id="menuDiv"&gt;的&lt;ul&gt; cursor 在下面。 此外,當 cursor 離開&lt;div id="menuContainer"&gt;時, &lt;div id="menuDiv"&gt;應該.slideUp() ,除非 cursor 在&lt;div id="menuDiv"&gt;本身上下降。</p><p> 我有這個標記:</p><pre> &lt;div id="menuContainer"&gt; &lt;:-- this is styled to be your standard CSS &lt;ul&gt; menu (&lt;ul&gt;'s list-style; none: &lt;li&gt; float: right) --&gt; &lt;ul&gt; &lt;li id="overSlide1"&gt;&lt;a href="#1" class="linkClass"&gt;Alpha&lt;/a&gt;&lt;/li&gt; &lt;li id="overSlide2"&gt;&lt;a href="#2" class="linkClass"&gt;Beta&lt;/a&gt;&lt;/li&gt; &lt;li id="overSlide3"&gt;&lt;a href="#3" class="linkClass"&gt;Gamma&lt;/a&gt;&lt;/li&gt; &lt;li id="overSlide4"&gt;&lt;a href="#4" class="linkClass"&gt;Theta&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div id="menuDiv"&gt; &lt;!-- This is position right under the &lt;div id="menuContainer"&gt; via CSS --&gt; &lt;/div&gt;</pre><p> 並為 Jquery 執行此操作:</p><pre> $(document).ready(function(){ $("#overSlide1").hover(function(){ $("#menuDiv").slideDown(250, function(){ }); }, function(){ }); $("#overSlide2").hover(function(){ $("#menuDiv").slideUp(250, function(){ }); }, function(){ }); $("#overSlide3").hover(function(){ $("#menuDiv").slideDown(250, function(){ }); }, function(){ }); $("#menuDiv").hover(function(){ }, function(){ $(this).slideUp(75); }); });</pre><p> 我遇到了“除非 cursor 超出&lt;div id="menuDiv"&gt;本身”的問題。</p></div> 用css懸停在錨點時顯示div?
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM