css-高度自適應的問題
對象height:100%並不能直接產生效果,是因為跟其父對象有關。
#center{ height:100%; }
上面的css樣式是無效的,不會產生任何效果。
需要改寫:
html,body{ margin:0px; height:100%; } #center{ width:200px; height:100%; background-color:#666666; border:1px solid red; }
對#center對象設置了height:100%,同時設置了html與body的height:100%,這就是高度自適應的問題所在,一個對象的高度是否可以使用百分之比顯示,取決於對象的父類對象,在頁面中,#center直接放在body屬性中,因此它的父類對象是body,而在默認狀態下,瀏覽器並沒有給body一個高度屬性,因此我們所設置的#centere為height:100%並不會產生任何效果,但是一點我們給body設置了100%之后,他的子類對象#center的height:100%便發生作用了,這便是瀏覽器解析規則引發的高度自適應的問題。
代碼中除了給出body的定義屬性之外,還給html對象也應用了相同的樣式定義,這樣做的好處是使IE與firefox瀏覽器都能夠高度自適應,Ie與firefox對頁面的解析存在一定的差異,ie中html對象默認為100%的高度,而body不是,而在firefox中html標簽就不是100%的高度,因此兩個標簽都設置為100%,可以保證兩款瀏覽器都能正常工作。
轉自 : http://www.cnblogs.com/lianzi/archive/2011/08/07/2129842.html