当用户将鼠标悬停在购物车图标上时,我想打开弹出式面板,例如this example from W3Schools。
这与SO的收件箱类似:
我试过this code,但看起来我错过了一些东西。
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
}
.dropdown:hover .dropdown-content {
display: block;
}
<i class="fa fa-shopping-cart w3-margin-right dropdown" onmouseover="javascript:void(0)"></i>
<div class="dropdown-content"><p>This is a test</p></div>
<i class="fa fa-search"></i>
你需要一个+符号,因为它是一个兄弟元素。
试图添加CSS:
.dropdown:hover + .dropdown-content {
display: block;
}
工作小提琴:https://jsfiddle.net/jennifergoncalves/zy0m1w32/2/
(使用“Hello”,因为我没有加载字体真棒)
参考:https://www.w3schools.com/css/css_combinators.asp
空格用于父/子关系。
更新:在聊天中发言后,问题中提出的HTML与实际代码不同。
实际HTML:
<p class="w3-right">
<i class="fa fa-shopping-cart w3-margin-right dropdown" onmouseover="javascript:void(0)"></i>
</p>
<div class="dropdown-content">
<p> This is a test</p>
</div>
兄弟选择器没有工作,因为“下拉”和“下拉内容”实际上不是兄弟姐妹。将“下拉”类添加到“p”标记似乎可以解决问题。
你也可以使用'+'或'〜',如下所示:
.dropdown:hover + .dropdown-content {
//your css code
}
.dropdown:hover ~ .dropdown-content {
//your css code
}