我想要一个简单的列表布局,当我从li {}
中删除overflow:hidden
时,背景颜色简单地消失。因为我是CSS新手,所以我可以弄清楚为什么会发生这种情况。当我删除溢出时,背景颜色消失:隐藏属性{}
<!DOCTYPE html>
<html>
<style>
ol {
list-style-type: none;
margin: 0;
padding: 0;
background-color: green;
overflow: hidden;
}
li {
float: left
}
a{
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li:hover {
background-color: red;
}
</style>
<body>
<ol>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#iPhone">iPhone</a></li>
<li><a href="#iPad">iPad</a></li>
</ol>
</body>
</html>
它是一个'明确:both'问题。由于你使用的是float,所以'ol'不能告诉'li'的高度 – Andrew
,你需要容器具有'overflow:hidden'来覆盖子元素,或者你可以使用clearfix tip: https://css-tricks.com/snippets/css/clear-fix/,但你也可以在'display:inline-block;'中设置你的li而不是 – shwarp
非常感谢你们的帮助!但我仍然对为什么会发生这样的事情感到困惑?你能否详细解释一下?对不起,这样的小白 – Thor