看一下這段高度自適應(yīng)的CSS代碼:
html,body{
margin:0px;
height:100%;
}
#left {
background-color:#CCC;
width:300px;
height:100%;
float:left;
}
代碼已經(jīng)到了不能再簡單的地步,對#left對象設(shè)置了height:100%;,然而也能夠看見,同時設(shè)置了HTML與body的height:100%;,而這個就是高度自適應(yīng)問題的關(guān)鍵所在。
分析:
一個對象高度是否可以使用百分比顯示,取決于對象的父級對象,#left在頁面中直接旋轉(zhuǎn)在body之中,因此它的父級是body,而瀏覽器默認(rèn)狀態(tài)下,是沒有給body一個高度屬性的,因此當(dāng)我們直接設(shè)置#left為height:100%;時,不會產(chǎn)生任何效果,而當(dāng)我們給body設(shè)置了100%之后,它的子級對象#left的height:100%;便發(fā)生作用了,這便是瀏覽器解析規(guī)則引發(fā)的高度自適應(yīng)問題。而代碼中除了給body應(yīng)用之外,還給HTML對象也應(yīng)用相同的樣式設(shè)計,這樣做的好處是使IE與firefox瀏覽器都能夠?qū)崿F(xiàn)高度自適應(yīng),而body卻不是。另外,F(xiàn)irefox中的HTML標(biāo)簽不是100%高度,因此給兩個標(biāo)簽都定義為height:100%;以保證兩個瀏覽器下均能夠正常顯示。
html,body{
margin:0px;
height:100%;
}
#left {
background-color:#CCC;
width:300px;
height:100%;
float:left;
}
代碼已經(jīng)到了不能再簡單的地步,對#left對象設(shè)置了height:100%;,然而也能夠看見,同時設(shè)置了HTML與body的height:100%;,而這個就是高度自適應(yīng)問題的關(guān)鍵所在。
分析:
一個對象高度是否可以使用百分比顯示,取決于對象的父級對象,#left在頁面中直接旋轉(zhuǎn)在body之中,因此它的父級是body,而瀏覽器默認(rèn)狀態(tài)下,是沒有給body一個高度屬性的,因此當(dāng)我們直接設(shè)置#left為height:100%;時,不會產(chǎn)生任何效果,而當(dāng)我們給body設(shè)置了100%之后,它的子級對象#left的height:100%;便發(fā)生作用了,這便是瀏覽器解析規(guī)則引發(fā)的高度自適應(yīng)問題。而代碼中除了給body應(yīng)用之外,還給HTML對象也應(yīng)用相同的樣式設(shè)計,這樣做的好處是使IE與firefox瀏覽器都能夠?qū)崿F(xiàn)高度自適應(yīng),而body卻不是。另外,F(xiàn)irefox中的HTML標(biāo)簽不是100%高度,因此給兩個標(biāo)簽都定義為height:100%;以保證兩個瀏覽器下均能夠正常顯示。