html - 添加了第二个 css 下拉列表,它不会排队

标签 html css css-selectors

我在我的页面上添加了第二个 CSS 下拉菜单,它出现在页面的左侧。第一个文本居中对齐,一切正常。当管理员登录进行管理操作时,我添加了第二个。 文本在此菜单中右对齐,下拉菜单显示在屏幕左侧。

这是一个 jsfiddle - https://jsfiddle.net/q0nsrdgo/

HTML

<div id="loginbar">
<ul>
<li>Welcome Xenarious | </li><li><a href="logout.php">Logout</a>&nbsp;|</li>    
<li class="dropdown"><a href="#" class="dropbtn">Admin Controls</a>
        <div class="dropdown-content">
            <a href="addcustomer.php">Add Customer</a>
            <a href="updatecustomer.php">Edit Customer</a>
            <a href="addproduct.php">Add Product</a>
            <a href="updateproduct.php">Update Product</a>
        </div>
         |</li>    <li><a href="orders.php">Orders</a></li>
</ul>
</div>
<header>
    <img src="../common/techtitan-title.png">
</header>
<nav>
<ul>
    <li><a href="index.php">Home</a></li>
    <li class="dropdown"><a href="products.html" 
 class="dropbtn">Products</a>
        <div class="dropdown-content">
            <!--<a href="products.html">Desktops</a>-->
            <a href="products.html">Notebooks</a>
            <a href="products.html">Tablets</a>
            <a href="products.html">Smartphones</a>
        </div>
    </li>
    <li><a href="services.html">Services</a></li>
    <li><a href="about.html">About Us</a></li>
    <li><a href="feedback.html">Feedback</a></li>
</ul>

CSS

#loginbar {
text-align: right;
background-color: #1D6000;
color: #FFD700;
font-size: 10pt;
z-index: 2;
overflow: auto;
width: 100%;
display: block;
margin: auto;
}
header {
background-color: #1D6000;
margin-bottom: 0;
text-align: center;
z-index: 1;
}
header img {
margin: auto;
text-align:center;
}

nav {
overflow: auto;
width: 100%;
display: block;
margin: auto;
margin-bottom: 20px;
background-color: #1D6000;
text-align: center;
box-shadow: 0px 8px 16px 0px rgba(5,5,5,0.5);
border-bottom: 3px ridge #FFD700;
font-size: 14pt;
}
nav ul, #loginbar ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #1D6000;
}
nav li, #loginbar li {
/*float: left*/
display: inline;
margin: 0;
padding: 0;
}
li a, .dropbtn {
display: inline-block;
color: #FFD700;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover, .dropdown:hover .dropbtn {
background-color: #FFD700;
color: #1D6000;
}
li.dropdown {
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #1D6000;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(5,5,5,0.5);
/*z-index: 1;*/    
}
.dropdown-content a {
color: #FFD700;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {
background-color: #FFD700;
color: #1D6000;
}
.dropdown:hover .dropdown-content {
display: block;
}

最佳答案

按如下方式更新您的 CSS -

nav li, #loginbar li {
    display: inline-block;
    margin: 0;
    padding: 0;
}

因为只有您的 .dropdown 类被设置为 inline-block,所以下拉菜单没有按要求显示。

关于html - 添加了第二个 css 下拉列表,它不会排队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522666/

相关文章:

javascript - 添加更多内容(例如图像)后,如何保持我的内容不从网格内部移动?

javascript - 根据下拉选项值显示/隐藏具有多个属性值的 DIV "jQuery Filter Method"

html - 调整我的 div 大小时,内容脱落,我得到一个滚动条来水平调整屏幕。 (站点宽)

CSS 属性选择器 + 后代在 Webkit 中出现错误?

html - 使按钮大小与相邻的输入框匹配

html - 如何删除通用的 HTML/CSS 工具提示?

html - 如何正确使用:not selector to solve . b而不是.a .b?

asp.net - CSS 在 ASP.NET 中不起作用

CSS:如何让position:absolutediv在位置内:相对div不会被溢出裁剪:隐藏在容器上

html - 为什么 box-shadow 属性在 SharePoint 中无法正常工作?