我想要一個簡單的列表佈局,當我從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