H3和列表下拉菜单CSS3
得到了一个HTML列表与CSS下拉菜单的工作,当你通过像在我的例子“产品展示”一< LI>元素徘徊。但是我想要的效果与通过< h3>像我的示例中的“联系人”一样悬停时效果相同。可能吗?H3和列表下拉菜单CSS3
这里的HTML:
<h3>Contact</h3>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li>
<a href="#">Products ▾</a>
<ul>
<li><a href="#">Laptops</a></li>
<li><a href="#">Monitors</a></li>
<li><a href="#">Printers</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
而且CSS代码:
ul li ul {
display: none;
}
ul li:hover ul{
display: block; /* display the dropdown */
}
非常感谢你提前。
悬停时,你只能控制CSS鼠标悬停在其上的元素,或悬停在其上的元素(其子项之一)中的元素的CSS。 所以,当你将鼠标悬停在h3
因为他们1)是不是同一个对象,你不能让ul
改变风格和2)不具有父子关系(他们是兄弟姐妹)。
要将鼠标悬停在h3上时显示菜单,可以将它们都包装在另一个对象(div
)中并将其用于悬停事件。为了区分两种悬停方式,您可以将类名添加到ul
。
See this JSfiddle,或者下面的代码:
<div class="container">
<h3>Contact</h3>
<ul class="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li>
<a href="#">Products ▾</a>
<ul class="submenu">
<li><a href="#">Laptops</a></li>
<li><a href="#">Monitors</a></li>
<li><a href="#">Printers</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
</div>
.container ul{
display: none;
}
.container:hover ul.menu{
display: block;
}
ul li ul.submenu {
display: none;
}
ul li:hover ul{
display: block; /* display the dropdown */
}
谢谢大家!这正是我想要的:) – user3321425 2015-03-30 23:29:32
总之 - 你应该巢ul
内h3
<h3>
Contact
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li>
<a href="#">Products ▾</a>
<ul>
<li><a href="#">Laptops</a></li>
<li><a href="#">Monitors</a></li>
<li><a href="#">Printers</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
</h3>
而且在你的CSS:
ul li ul {
display: none;
}
ul li:hover ul{
display: block; /* display the dropdown */
}
h3 > ul {
display: none;
}
h3:hover > ul {
display: block;
}
内根据W3C,只有[段落式内容(HTTP:/ /www.w3.org/TR/html-markup/terminology.html#phrasing-content)允许一个[H3标签]内(http://www.w3.org/TR/html-markup/h3.html) 。 'ul'是[流动元件(http://www.w3.org/TR/html-markup/common-models.html#common.elem.phrasing),并且不应当被使用。看到我的答案替代。 – Jasper 2015-03-30 23:29:51
@Jasper 100%同意。这就是为什么我标记它'总之';) – oleynikd 2015-03-30 23:34:50
你可以强调你想要的H3做什么?如果你想联系悬停和具有列表项显示块,你要么将不得不使用JavaScript/jQuery的或你将不得不窝在列表项H3 – Enjayy 2015-03-30 23:16:19