[英]Figuring out heights in CSS
我有這樣的CSS:
#sidebar {
float: left;
margin: 0;
padding: 0;
background: #044169;
}
#sidebar-menu {
height: 100%;
margin: 0;
padding: 0;
background: #CCCCCC;
}
(將其稱為test.css)和一個簡單的HTML文件,如下所示:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="test.css">
</head>
<body>
<h1>Test</h1>
<div id="sidebar">
<div id="sidebar-menu">
<ul>
<li>One</li>
</ul>
</div>
</div>
</body>
</html>
我真的不明白為什么sidebar-menu
的高度是35px
,而sidebar
的寬度是51px
。 不宜sidebar-menu
高達sidebar
...?!?
在我的腦海中,我認為: margins
為0, paddings
為0,因此包含元素sidebar-menu
height:100%
應為容器的height:100%
(我認為是容器的height:100%
),應與容器一樣大!
我顯然弄錯了...
您在sidebar-menu元素內有一個未排序的列表,尚未設置樣式。 默認情況下,列表具有邊距/填充。 加:
ul {
margin:0;
padding:0;
}
現在,邊欄菜單與其容器的大小完全相同。
除非另有說明,否則父容器div會將其自身大小調整為具有絕對大小而非相對大小的最大元素。
div sidebar-menu
沒有絕對大小,但是從其子級(帶有文本“ One”的無序列表)確定其大小。 正因為如此, sidebar
實際上將自身調整為35px高和51px寬,然后其子sidebar-menu
將填充該高度和其子寬度的100%。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.