關於html+css兼容

           寬度和高度自適應是任何頁面沒法迴避的問題,有的界面只須要固定寬高,這樣固然大大的下降設計實現的難度,但不少項目多會用到自適應。一個對象的高度寬度是否能夠自適應(也就是按百分比顯示)取決於父級對象。(1)高度自適應:在默認狀態下,瀏覽器沒有對body體一個高度屬性,所在在body的字元素按百分比定義高度是無效的。通常咱們都要對html與body設置{height:100%;},這樣能使火狐和ie均能實現高度自適應,在ie中,html對象默認100%的高度,body不是。火狐中html不是100%。其中Body 對象表明文檔的主體 (HTML body document.body ),html對象偏重於一些標(document.documentElement)。  (2)寬度自適應:不少平臺頁面咱們須要考慮寬度自適應,假如body體內有倆個div,左側的固定寬度,右側自適應,則左側的div須要設置向左浮動(float:left;),右側的div須要設置margin-left爲左側div的寬度,便可實現。若 body體內三個div,中間自適應,左側右側固定,則左右側div分別設置float:left與float:right,中間div設置margin-left,margin-right分別爲左右側寬度。css

(2)絕對定位下的oveflow的bug(IE7),在ie7下,若一個div的子元素有絕對定位的樣式,在overflow:auto時會出現溢出的狀況,此時咱們須要再此div父級元素上設置相對定位屬性便可解決。html

(3)關於padding與margin,衆所周知這是設定內邊距與外邊距的屬性,若每一個div的寬高都設有具體值時,用起來這倆個屬性會按預期達到你的效果,但若是寬高爲固定是按裏面元素的寬高變化的話會出些問題。記住,div的寬高會包括他的padding值(子元素的寬高加padding加border),但不包括margin值。對於一些位置的定位,用padding可能會更好。瀏覽器

(4)在間距的處理上不用老想着padding與margin,如在一些關於文字的處理上要充分考慮使用letterspacing,text-indent,line-height的使用,這些屬性會很容易實現。相似的還有vertical-align屬性佈局

(5)table的好處。誠然,table佈局可讀性較低維護成本高,任何table佈局均可以用div代替,可是在碰到相似不少字段表單展現時,table佈局的優點盡收眼底,便於總體控制樣式。spa

(6)在寬高的調試中若是適應不了各個版本的瀏覽器,考慮hack方法。IE6能識別-,IE7能識別+,IE8和FF都不能識別+和-IE8/FF都不識別*,IE7優先識別!important,IE6不能識別!important,/9適應全部ie。設計

(7)其餘。在寫樣式css時必定要充分考慮代碼複用,這樣會減小不少工做量。另外請多用各類選擇符、組合選擇符,這樣減小一些類名,使代碼更有餘地。調試

相關文章
相關標籤/搜索