當(dāng)我們給塊級元素設(shè)置響應(yīng)式高度的時候,例如給div設(shè)置height=50%,往往沒能看到效果。
原因是百分比的大小是相對其父級元素寬高的大小,如最外層元素設(shè)置的百分比是對應(yīng)屏幕而言的。
需要了解的是對于寬度來說,其父級元素?zé)o須確定寬度就能設(shè)置百分比,例如我們可以利用這個特性給未知寬度的塊級元素設(shè)置水平居中效果:
父元素css: position: relative/absolute; left: 50%;
子元素css: position: relative; left: -50%;
但高度則不同,若某元素的父元素沒有確定高度,則無法有效使用height=xx%的樣式,我們可以這樣解決(假設(shè)最外層的div需要設(shè)置百分比高度樣式):
代碼如下:
html, body { height: 100%; } .outdiv { height: 50%; }
不過這里有個需要注意的,若div里的內(nèi)容超出了div的高度,在ie7+的瀏覽器是無法將div撐起來的(ie6則可以),如果要顧及這一點,可以使用min-height解決(當(dāng)然也要考慮ie6不支持min-height的問題):
代碼如下:
html, body { height: 100%; } .outdiv { min-height: 50%; } * html .outdiv { height: 50%; }