CSS解析在IE與Firefox下的區(qū)別
你對(duì)IE與Firefox下對(duì)CSS解析的區(qū)別是否了解,這里和大家分享一下,希望對(duì)你的學(xué)習(xí)有所幫助。
IE與Firefox下對(duì)CSS解析的區(qū)別
1、對(duì)高度的解析
IE:將根據(jù)內(nèi)容的高度變化,包括未定義高度的圖片內(nèi)容,即使定義了高度,當(dāng)內(nèi)容超過高度時(shí),將使用實(shí)際高度。
Firefox:沒有定義高度時(shí),如果內(nèi)容中包括了圖片內(nèi)容,MF的高度解析是根據(jù)印刷標(biāo)準(zhǔn),這樣就會(huì)造成和實(shí)際內(nèi)容高度不符合的情況;當(dāng)定義了高度,但是內(nèi)容超過高度時(shí),內(nèi)容會(huì)超出定義的高度,但是區(qū)域使用的樣式不會(huì)變化,造成樣式錯(cuò)位。
結(jié)論:大家在可以確定內(nèi)容高度的情況下***定義高度,如果真的沒有辦法定義高度,***不用使用邊框樣式,否則樣式肯定會(huì)出現(xiàn)混亂!
2、img對(duì)象alt和title的解析
alt:當(dāng)照片不存在或者load錯(cuò)誤時(shí)的提示;
title:照片的tip說明。
在IE中如果沒有定義title,alt也可以作為img的tip使用,但是在MF中,兩者完全按照標(biāo)準(zhǔn)中的定義使用
結(jié)論:大家在定義img對(duì)象時(shí),***將alt和title對(duì)象都寫全,保證在各種瀏覽器中都能正常使用
3、其他的細(xì)節(jié)差別
當(dāng)你在寫css的時(shí)候,特別是用float:left(或right)排列一竄圖片時(shí),會(huì)發(fā)現(xiàn)在firefox里面正常而IE里面有問題。無論你用margin:0,還是border:0來約束,都無濟(jì)于事。
其實(shí)這里還有另外一個(gè)問題,就是IE對(duì)于空格的處理,firefox是忽略的而IE對(duì)于塊與塊之間的空格是處理的。也就是說一個(gè)div結(jié)束后要緊接著一個(gè)div寫,中間不要有回車或者空格。不然也許會(huì)有問題,比如3px的偏差,而且這個(gè)原因很難發(fā)現(xiàn)。
非常不走運(yùn)的是我又碰到了這樣的問題,多個(gè)img標(biāo)簽連著,然后定義的float:left,希望這些圖片可以連起來。但是結(jié)果在firefox里面正常而IE里面顯示的每個(gè)img都相隔了3px。我把標(biāo)簽之間的空格都刪除都沒有作用。
后來的解決方法是在img外面套li,并且對(duì)li定義margin:0,這樣就解決了IE和firefox的顯示偏差。IE對(duì)于一些模型的解釋會(huì)產(chǎn)生很多錯(cuò)誤問題,只有多多嘗試才能發(fā)現(xiàn)原因。
【編輯推薦】