剛開始學CSS+div布局的同學們,都比較困惑和難寫的就是兼容性的問題了,特別是ie6等低版本的瀏覽器,隨意國內逐步慢慢消失取代,但是現階段還是會有點考慮因素再里面。我們寫的網頁布局怎么樣才是合理的,完整的,兼容性好的呢?因此再這里,小強老師給大家列出網頁布局標準性、合理性和兼容性的一些方法,希望對剛開始學習css的同學有所幫助。
位于文檔的最前面,用于向瀏覽器說明當前文檔使用哪種HTML或XHTML標準規范,我們必需在開頭處使用<!DOCTYPE>標記為所有的XHTML文檔指定XHTML版本和類型,只有這樣瀏覽器才能將該網頁作為有效的XHTML文檔,并按指定的文檔類型進行解析。<!DOCTYPE>標記和瀏覽器的兼容性相關,刪除<!DOCTYPE>,就是把如何展示HTML頁面的權利交給瀏覽器,這時,IE6,IE7,IE8,Firefox2,Firefox3,Chrome,有多少種瀏覽器,頁面就有可能有多少中顯示效果,這是不被允許的。
物盡其用人盡其才。再合適的地方用到合理的標簽,對網頁布局和優化都有很多的好處,比如logo,一般我們都用h1標簽包括。還有理解行內元素和塊級元素的區別。一個頁面不要只用div,太多反而太泛濫了。table雖然用的少,但是,再做一些數據處理的時候,還是比較好用的。比如下面的,肯定用列表ul了。
我們知道頁面布局的時候,控制盒子位置距離等,有盒子本身大小,padding和margin來做。先看如下圖,再火狐的firebug中看他們三者的顯示。因此,再這里我們會根據穩定性來看這三者的先后順序:其中穩定性最好的就是盒子本身的高度和寬度了,我們優先考慮這個。因此,很多情況下,我們會考慮利用高度剩余法,寬度剩余法來做,而不是padding和margin。比如下圖:
這個評論和下面的文本域框有個小距離,此時,我們給這個評論一個h2標簽,高度正好從評論上方,到文本域上的高度就好了,如圖黃色部分所示。
h2里面文字內容默認是靠左上對齊的,高度用不了,就剩下了,這就是高度剩余法。其次,我們才考慮padding ,因為padding也可以看做特殊的盒子高度和寬度,最后我們再用margin來做。因為margin會有邊距合并的問題。
標準流再里面是最穩定的,就是塊級元素上下顯示,行內一行顯示,都是最穩定的。浮動和定位都“脫標”了,穩定性沒那么穩定,所以,我們應該遵循如下原則:頁面布局,能用標準流去做的不用浮動去做,如果要用浮動做的,就不用定位去做。
總會有特殊的瀏覽器,比如ie6 ,這些奇葩瀏覽器總是有自己獨到的地方,那我們怎辦?兵法云,知己知彼百戰百勝,因此,需要我們詳細的了解這些瀏覽器自己獨特的特性,或者掌握他們IE6常常出現的bug,以及對于css的理解,那么我們根據他們的不同解析,寫出合理的布局。
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屬性不至于引起不必要的麻煩。
以上幾點,是小強老師,給大家總結的幾點,希望對新學習的同學有所幫助。
小強零零壹和大家一起分享
新聞熱點
疑難解答