我正在尝试为下拉菜单标签创建底部边框。我知道在哪里添加属性来添加边框,但我遇到的问题是边框不是从左到右一直延伸。
HTML:
<div id="navigation">
<ul>
<li><a href="#" id="home">Home</a></li>
<li><a href="#" id="zeus">Zeus</a>
<li><a href="#" id="poseidon">Poseidon</a>
<li><a href="#" id="hercules">Hercules</a>
<li><a href="#" id="athena">Athena</a>
<li><a href="#" id="help">Help</a>
<ul>
<li><a href="#">Contact</a></li>
<li><a href="#">FAQ's</a></li>
</ul>
</li>
<li><a href="#" id="account">Account</a>
<ul>
<li><a href="#">Cart</a></li>
<li><a href="#">Orders</a></li>
</ul>
</li>
</ul>
</div>
CSS:
#navigation {
background-color: #404040;
display: block;
text-align: center;
}
#navigation ul {
display: block;
list-style-type: none;
margin: 0;
padding: 0;
position: relative;
}
#navigation ul a {
color: white;
display: block;
font-size: 18px;
font-weight: 500;
line-height: 32px;
padding: 0 30px;
text-decoration: none;
}
#navigation ul li {
display: inline-block;
margin: 0;
padding: 0;
position: relative;
}
#navigation ul ul {
display:none;
position:absolute;
top:100%;
left:0;
background:#fff;
padding:0
}
#navigation ul ul a {
line-height: 120%;
padding: 10px 15px;
}
#home:hover {
color: gray;
}
#zeus:hover {
color: red;
}
#poseidon:hover {
color: blue;
}
#hercules:hover {
color: gold;
}
#athena:hover {
color: #00ff00;
}
#help:hover {
color: gray;
}
#account:hover {
color: gray;
}
#navigation ul li ul a:hover {
color: gray;
}
#navigation ul li:hover > ul {
display: block;
background-color: #404040;
text-align: left;
z-index: 99;
}
答案 0 :(得分:1)
您将li
设置为display:inline-block
,使其“缩小至适合”,具体取决于内容。您可以将width:100
添加到子li
,以确保它始终保持父级的全宽。
#navigation li li {
border-bottom: 1px solid lime;
width: 100%;
}
<强> jsFiddle 强>
答案 1 :(得分:0)
您可以使用以下规则拉伸底部边框:
#navigation a + ul li{ /* set width to dropdown menu */
width: 100%;
}
#navigation a + ul li{ /* set width and border to dropdown items */
width: 100%;
border-bottom: 3px solid blue;
}
他们会确保您的下拉菜单获得100%宽度
您可以在this fiddle
中试用