更新時間:2016年09月29日16時58分 來源:傳智播客 瀏覽次數(shù):
剛開始學css+div布局的同學們,都比較困惑和難寫的就是兼容性的問題了,特別是ie6等低版本的瀏覽器,隨意國內(nèi)逐步慢慢消失取代,但是現(xiàn)階段還是會有點考慮因素再里面。我們寫的網(wǎng)頁布局怎么樣才是合理的,完整的,兼容性好的呢?
因此再這里,傳智播客老師給大家列出網(wǎng)頁布局標準性、合理性和兼容性的一些方法,希望對剛開始學習css的同學有所幫助。
一、 標記的重要性。
位 于文檔的最前面,用于向瀏覽器說明當前文檔使用哪種 HTML 或 XHTML 標準規(guī)范,我們必需在開頭處使用標記為 所有的XHTML文檔指定XHTML版本和類型,只有這樣瀏覽器才能將該網(wǎng)頁作為有效的XHTML文檔,并按指定的文檔類型進行解析。
標記和瀏覽器的兼容性相關,刪除,就是把如何展示HTML頁面的權利交給瀏覽器,這 時,IE6,IE7,IE8,F(xiàn)irefox2,F(xiàn)irefox3,Chrome,有多少種瀏覽器,頁面就有可能有多少中顯示效果,這是不被允許的。
二、合適地方用到合適的標簽
物盡其用人盡其才。 再合適的地方用到合理的標簽,對網(wǎng)頁布局和優(yōu)化都有很多的好處,比如logo ,一般我們都用h1 標簽包括。 還有理解行內(nèi)元素和塊級元素的區(qū)別。
一個頁面不要只用div,太多反而太泛濫了。table雖然用的少,但是,再做一些數(shù)據(jù)處理的時候,還是比較好用的。
三、站在標準流的角度看padding 和 maring 、width等屬性穩(wěn)定性
我們知道頁面布局的時候,控制盒子位置距離等,有盒子本身大小,padding和margin來做。
因此,再這里我們會根據(jù)穩(wěn)定性來看這三者的先后順序:
其中穩(wěn)定性最好的就是盒子本身的高度和寬度了,我們優(yōu)先考慮這個。 因此,很多情況下,我們會考慮利用高度剩余法,寬度剩余法來做,而不是padding和margin。
這個評論和下面的文本域框有個小距離, 此時,我們給這個評論一個h2標簽,高度正好從評論上方,到文本域上的高度就好了。
h2 里面文字內(nèi)容默認是靠左上對齊的,高度用不了,就剩下了,這就是高度剩余法。
其次,我們才考慮padding ,因為padding也可以看做特殊的盒子高度和寬度,最后我們再用margin來做。因為margin會有邊距合并的問題。
四、標準流、浮動流和定位的穩(wěn)定性
標準流再里面是最穩(wěn)定的,就是塊級元素上下顯示,行內(nèi)一行顯示,都是最穩(wěn)定的。
浮動和定位都“脫標”了,穩(wěn)定性沒那么穩(wěn)定,所以,我們應該遵循如下原則:
頁面布局,能用標準流去做的不用浮動去做,如果要用浮動做的,就不用定位去做。
五、知己知彼百戰(zhàn)百勝
總會有特殊的瀏覽器,比如ie6 ,這些奇葩瀏覽器總是有自己獨到的地方,那我們怎辦? 兵法云,知己知彼百戰(zhàn)百勝,因此,需要我們詳細的了解這些瀏覽器自己獨特的特性,或者掌握他們ie6常常出現(xiàn)的bug,以及對于css 的理解,那么我們根據(jù)他們的不同解析,寫出合理的布局。
六、不要讓清除內(nèi)外邊距帶來麻煩
html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img { margin:0; padding:0; }
這句話,大家都知道,清除瀏覽器樣式的。但是如果你不加,不同瀏覽器肯定顯示不太一樣。所以,css的第一句話就是它。還有就是要使用大部分瀏覽支持的css屬性不至于引起不必要的麻煩。
以上幾點,是傳智播客老師,給大家總結(jié)的幾點,希望對新學習的同學有所幫助。