您可以使用CSS Flexbox的,而不是另一個顯示值,該Flexbox的佈局(軟盒)模塊旨在提供一個更有效的方式來佈置,調整和容器中的項目之間分配空間即使它們的尺寸未知和/或動態。
例
/* CONTAINER */
#wrapper
{
width:300px;
height:300px;
display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
display: -ms-flexbox; /* TWEENER - IE 10 */
display: -webkit-flex; /* NEW - Chrome */
display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
-ms-flex-direction: column;
-moz-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
/* SOME ITEM CHILD ELEMENTS */
#first
{
width:300px;
height: 200px;
background-color:#F5DEB3;
}
#second
{
width:300px;
background-color: #9ACD32;
-webkit-box-flex: 1; /* OLD - iOS 6-, Safari 3.1-6 */
-moz-box-flex: 1; /* OLD - Firefox 19- */
-webkit-flex: 1; /* Chrome */
-ms-flex: 1; /* IE 10 */
flex: 1; /* NEW, */
}
jsfiddle Example
如果你想爲舊瀏覽器,如IE9或更低的全力支持,你將不得不使用一個polyfills像flexy,這種填充工具啓用Flexbox的支持型號,但只適用於2012年的flexbox型號。
最近,我發現了另一個填充工具,以幫助您使用Internet Explorer 8 & 9或不具備Flexbox的模型支持任何舊的瀏覽器,我還沒有嘗試過,但我離開的鏈接here
你可以找到一個有用和complete Guide to Flexbox model克里斯Coyer here
@Pete不,它們是動態的。只有第一個div是固定的200px高度。而第二個div將填充包裝的剩餘高度 –
你想要這個嗎? http://jsfiddle.net/K5n4U/ – laaposto
@laaposto不,這不是事情。包裝應100%填充屏幕的整個垂直高度。 –