我在stackoverflow上搜索此问题,但找不到任何内容。
我一直在用CSS制作一个下拉菜单。将鼠标悬停在下拉菜单上时,下拉项将水平显示,而不是垂直显示。
HTML
<div id="header">header
<ul>
<li><a>Home</a></li>
<li><a></a>Biografie</a></li>
<li><a>Foto's</a></li>
<li class="dropdown">Meer
<ul>
<li><a>tutorials</a></li>
<li><a>inhuren</a></li>
</ul>
</li>
</ul>
CSS
/*header*/
#header {
background-color: #5c931f;
}
#header ul {
list-style-type: none;
}
#header li {
width: 100px;
border: 1px solid black;
display: inline;
background-color: #000;
color: #808080;
position: relative;
text-align: center;
}
#header li:hover {
color: blue;
}
/*dropdown menu*/
.dropdown ul{
display: none;
}
.dropdown:hover ul{
display: block;
position: absolute;
}
如何垂直获取下拉列表项?
添加/更改以下代码:
.dropdown ul li{
display: block;
}
.dropdown:hover ul{
display: inline;
position: absolute;
top: 0;
left: 0;
float: left;
}
JS Fiddle链接:
http://jsfiddle.net/kr2jw577/
不过,它确实需要一些调整。
您主动声明了li
以在此处显示inline
:
#header li {
...
display: inline;
...
}
内联的意思是,基本上,“不要强制换行到下一行。”去掉它,它应该返回到block
行为。
编辑:以前我没有注意到嵌套的li
。
加:
#header .dropdown li {
display: block;
}
或者,仅以内联的直接子级li
为目标(注意,这将影响应用于li
的所有样式):
#header > ul > li {
width: 100px;
border: 1px solid black;
display: inline;
background-color: #000;
color: #808080;
position: relative;
text-align: center;
}
问题内容: 我正在尝试制作一个简单的CSS下拉菜单,当您将鼠标悬停在链接上时,将显示子菜单。当您将鼠标悬停在li上时,我已经设法实现了这一点,但无法弄清楚如何使用链接来实现。 我之所以尝试使用链接而不是li来执行此操作,是因为我的菜单宽度为100%,并且li所占的面积比链接大,因此,如果将鼠标悬停在该区域上,则不显示该子菜单不想。 我的CSS如下: 问题答案: 如果可能的话,我会避免使用JS。这不
.dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } .dropdown { position: relative; display: inline-block; } .dropdown:hover .dropbtn {
我在Confluence上运行的HTML/CSS主题上实现了以下菜单。 默认情况下,我正在运行的主题提供了激活所有菜单项的下拉菜单的选项。但是,我希望只为其中一个菜单项显示下拉菜单。 该主题没有提供切换特定菜单项下拉列表的选项,这就是为什么我不得不求助于自定义CSS。 与发行说明菜单项对应的HTML如下-- 此外,添加以下自定义CSS将删除所有菜单项的下拉菜单。 我希望CSS有条件地不显示RELE
我有一个下拉菜单,除了一个我无法解决的小错误外,它工作得很好。 第一个下拉框项正常出现。然而,第二个下拉框项稍微向右移动。我猜想是我设置的链接的边距导致下拉框稍微向右移动。如果是这样的话,我能做些什么来解决这个问题呢? 这是一个简单的导航菜单,它将drop菜单项的位置设置为绝对位置,并由父元素的overflow:隐藏功能隐藏。悬停时,下拉框会显示溢出:可见。 现场在这里- CSS 超文本标记语言
问题内容: 我需要建立一个包含5个选项的菜单,单击某个菜单后,将出现一个新的子菜单。我完全不知道该怎么做。 问题答案: CSS没有点击处理程序。因此,不可能使用标准CSS。您可以使用一种称为“复选框hack”的方法,但是我谦虚地认为,它有点笨拙,并且会像您的用例要求那样在导航菜单中使用,这很尴尬。因此,我建议使用jQuery或Javascript。这是使用jQuery的一种非常简单的解决方案。 基
问题内容: 以前,我没有对多级纯CSS下拉菜单进行过很多工作,但是现在我正在寻找最干净的方法。当我搜索了这个网上我发现了很多那名4-5岁的解决方案,我不知道是否有更好的方法来实现这一目标,而不是做一些这样的。 问题答案: .third-level-menu 我还整理了一个现场演示,可在此处使用