由於在以下小提琴中可以看到,我有兩個div
s,包含在父親div
中,這些父母已包含大div,我的目標是使這些小孩div
s高度相等。拉伸子div高度以填充具有動態高度的父母
http://fiddle.jshell.net/y9bM4/
由於在以下小提琴中可以看到,我有兩個div
s,包含在父親div
中,這些父母已包含大div,我的目標是使這些小孩div
s高度相等。拉伸子div高度以填充具有動態高度的父母
http://fiddle.jshell.net/y9bM4/
的解決方案是使用display: table-cell
使這些元件內聯,而不是使用display: inline-block
或float: left
的。
div#container {
padding: 20px;
background: #F1F1F1
}
.content {
width: 150px;
background: #ddd;
padding: 10px;
display: table-cell;
vertical-align: top;
}
.text {
font-family: 12px Tahoma, Geneva, sans-serif;
color: #555;
}
<div id="container">
<div class="content">
<h1>Title 1</h1>
<div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
<br>Sample Text. Sample Text. Sample Text.
<br>Sample Text.
<br>
</div>
</div>
<div class="content">
<h1>Title 2</h1>
<div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.</div>
</div>
</div>
但是,如果父元素是表格單元,則這不起作用。 –
使用display: flex
伸展你的div
S:
div#container {
padding:20px;
background:#F1F1F1;
display: flex;
}
.content {
width:150px;
background:#ddd;
padding:10px;
display:inline-block;
vertical-align:top;
margin-left: 10px;
}
.text {
font-family: 12px Tahoma, Geneva, sans-serif;
color:#555;
}
你可以用一點jQuery的
的$(document).ready(function(){
var parentHeight = $("#parentDiv").parent().height();
$("#childDiv").height(parentHeight);
});
儘管一旦瀏覽器窗口被調整大小,這將會中斷,而CSS的仍將工作。 – SharpC
這太重了。 -1 –
做很容易添加以下CSS:
父DIV:
style="display: flex;"
對於孩子的div:
style="align-items: stretch;"
爲我修好了! –
檢查這些問題:http://stackoverflow.com/questions/3049783/how-to-make-a-floated-div-100-height-of-its-parent,http://stackoverflow.com/questions/157514 1 /瀏覽器窗口中進行-DIV-100-高度的-,http://stackoverflow.com/questions/13609531/make-an-div-100-height-css – mrzmyr
@MikeHometchko有很多關於CSS,但不是CSS3。我想是這樣。 –
@Mr_Green在「CSS」和CSS3之間的基本級別差異是微不足道的,所以我沒有看到問題。這是一個非常常見的問題,已經被問及應對死亡。 –