我試圖讓一個HTML頁面2周的div:「頂」和「主」HTML高度100%的原因頁溢出
頂部<div>
必須考慮其所含元素的地方,主要<div>
必須採取所有剩下的地方。
這裏是我的嘗試:
CSS代碼:
html,body{
height:100%;
}
#top{
background-color : red;
padding:10px;
border:1px solid;
}
#main{
background-color : blue;
height:100%;
padding:10px;
border:1px solid;
}
#content1{
background-color:yellow;
}
#content2{
background-color:yellow;
height :100%;
}
HTML代碼:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="top">
<div id="content1">content1</div>
</div>
<div id="main">
<div id="content2">content2</div>
</div>
</body>
</html>
這裏是jsFiddle
爲y你可以看到,我在「content2」上設置的「100%」使得這個div佔據了頁面高度的100%,而不僅僅是剩餘的空間。有沒有一個神奇的CSS屬性來解決這個問題?
編輯:
感謝您對您所有的解決方案。
我最終選擇了由Riccardo Pasianotto根據CSS屬性display:table
和display:table-row
提出的解決方案。
這是我最後的HTML代碼:
<!DOCTYPE html>
<body>
<div id="content1" class="row">
<div class="subcontent">
<div class="subContentContainer">
content1
</div>
</div>
</div>
<div id="content2" class="row">
<div class="subcontent">
<div class="subContentContainer">
content2
</div>
</div>
</div>
</body>
以下是相應的CSS代碼:
html,body{
padding:0;
margin:0;
height:100%;
width:100%;
}
body{
display:table;
}
.row{
display:table-row;
width:100%;
}
#top{
height:100px;
}
#content1{
background:#aa5555;
padding:10px;
}
#content2{
background:#5555AA;
height:100%;
}
.subcontent{
padding : 10px;
height:100%;
}
.subContentContainer{
background-color:yellow;
height:100%;
}
這裏是相應Jsfiddle。
爲什麼你想有你的主要內容堅守的底部?也許你想在頁面的底部有一個頁腳? – Brewal
您錯過了HTML中的DOCTYPE。 – Uooo
稍後,我會在黃色區域周圍放置一個邊框。然後,如果主要內容的高度與區域一樣大,我會放置滾動條。對於用戶來說,我認爲如果這個區域的大小永遠不會改變,它就會更乾淨。 –