1. 程式人生 > >CSS百分比定義高度為什麼沒有效果

CSS百分比定義高度為什麼沒有效果

當我們給塊級元素設定響應式高度的時候,例如給div設定height=50%,往往沒能看到效果。

原因是百分比的大小是相對其父級元素寬高的大小,如最外層元素設定的百分比是對應螢幕而言的。

需要了解的是對於寬度來說,其父級元素無須確定寬度就能設定百分比,例如我們可以利用這個特性給未知寬度的塊級元素設定水平居中效果:

父元素css: position: relative/absolute; left: 50%;

子元素css: position: relative; left: -50%;

但高度則不同,若某元素的父元素沒有確定高度,則無法有效使用height=XX%的樣式,我們可以這樣解決(假設最外層的div需要設定百分比高度樣式):

程式碼如下:

html, body { height: 100%; } .outDiv { height: 50%; }

不過這裡有個需要注意的,若div裡的內容超出了div的高度,在IE7+的瀏覽器是無法將div撐起來的(IE6則可以),如果要顧及這一點,可以使用min-height解決(當然也要考慮IE6不支援min-height的問題):

程式碼如下:

html, body { height: 100%; } .outDiv { min-height: 50%; } * html .outDiv { height: 50%; }