我正在设计一个网站的顶栏,无法弄清楚如何强制下面的<a>
元素与父<li>
元素具有相同的高度。下面的代码显示了带有绿色背景的<li>
元素和带有黄色背景的<a>
元素。我想让黄色的盒子跨越绿色盒子的整个高度。将<a>
元素的高度设置为100%并不成功。我错过了什么?
<!DOCTYPE html>
<head>
<style>
div#topbar {
width: 100%;
height: 30px;
top: 0;
border: 1px solid black;
}
#topbar ul {
margin: 0;
padding: 0;
list-style: none;
line-height: 30px;
}
#topbar ul li {
margin: 0;
padding: 0 10px;
background-color: green;
display: inline;
float: left;
}
#topbar a {
background-color: yellow;
}
</style>
</head>
<body>
<div id="topbar">
<ul>
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
</ul>
</div>
</body>
答案 0 :(得分:3)
因为标签是一个内联元素而且没有考虑高度,所以你需要把它设为块,这可以用各种方法制作,但最适合你的情况是'浮动'。
div#topbar {
width: 100%;
height: 30px;
top: 0;
border: 1px solid black;
}
#topbar ul {
margin: 0;
padding: 0;
list-style: none;
line-height: 30px;
}
#topbar ul li {
margin: 0;
padding: 0 10px;
background-color: green;
display: inline;
float: left;
}
#topbar a {
background-color: yellow;
float:left; /*add this*/
}
答案 1 :(得分:0)
你试过了吗?
#topbar a {
background-color: yellow;
display: inline-block;
}
答案 2 :(得分:0)
a
标记应为display:block
,然后它将填充父级。并丢失li
标记上的填充。