当前位置: 首页 > 知识库问答 >
问题:

CSS下拉菜单项水平移动

任云瀚
2023-03-14

我在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;
}

如何垂直获取下拉列表项?

共有2个答案

澹台昆
2023-03-14

添加/更改以下代码:

.dropdown ul li{
     display: block;
}
.dropdown:hover ul{
    display: inline;
    position: absolute;
    top: 0;
    left: 0;
    float: left;
}

JS Fiddle链接:

http://jsfiddle.net/kr2jw577/

不过,它确实需要一些调整。

吴鸿彩
2023-03-14

您主动声明了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 我还整理了一个现场演示,可在此处使用