我們都知道,不同版本瀏覽器對css的解析是有些分別的,特別是ie6,和ie7.雖然現在使用老版本的人數不多,但是還是有部分人在使用,我們並不能完全忽略這群使用者。如下所示:我們還是應該了解一下這些瀏覽器相容問題。
問題一:在ie6元素浮動,如果寬度需要內容撐開,就給裡邊的塊元素都加浮動(不然會出不在同一行)
問題二:在ie6,7下元素要通過浮動並在同一行,就給這行元素都加浮動;
問題三:注意標籤巢狀規範(
給p標籤加背景顏色會出現兩塊bug)
問題四:在ie6下元素的高度的小於19px的時候,會被當做19px來處理(解決辦法:overflow:hidden;)
問題五:1px dotted 在ie6下不支援(解決辦法:切背景平鋪)
問題六:在ie6下父級有邊框的時候,子元素的margin值消失(解決辦法:觸發父級的haslayout)
問題七:ie6下雙邊距bug,在ie6,塊元素有浮動和和橫向的margin值 ,橫向的margin值會被放大成兩倍(解決辦法: display:inline;)margin-right 一行右側第乙個元素有雙邊距;margin-left 一行左側第乙個元素有雙邊距
問題八: 在ie6,7下,li本身沒浮動,但是li的內容有浮動,li下邊就會產生乙個間隙(解決辦法:1.給li加浮動2.給li加vertical-align)
當ie6下最小高度問題,和 li的間隙問題共存的時候 給li加浮動
問題九: 當一行子元素占有的寬度之和和父級的寬度相差超過3px,或者有不滿行狀態的時候,最後一行子元素的下margin在ie6下就會失效(暫時無解決辦法)
問題十: 在ie6下的文字溢位bug,產生條件:子元素的寬度和父級的寬度相差小於3px的時候,兩個浮動元素中間有注釋或者內嵌元素(解決辦法:用div把注釋或者內嵌元素用div包起來 (父級調大))
問題十一:當浮動元素和絕對定位元素是並列關係的時候,在ie6下絕對定位元素會消失(解決辦法:給定位元素外麵包個div)
問題十二:在ie6,7下,子元素有相對定位的話,父級的overflow包不住子元素(解決辦法: 給父級也加相對定位)
問題十三:在ie6下絕對定位元素的父級寬高是奇數的時候,元素的right值和bottom值會有1px的偏差(沒有解決方法)
問題十四:在ie6下position:fixed;無法實現功能(使用js方法代替)
問題十五:在ie6,7下輸入型別的表單控制項上下各有1px的間隙(解決辦法:給input加浮動)
問題十六:在ie6,7下輸入型別的表單控制項加border:none;(解決辦法: 重置input的背景,或者設定border:0;)
上面就是對不同問題的解決辦法,當我們對不同瀏覽器設定不同的風格:
這樣 在ie11下會顯示「這是ie
11
這是ie11」其他ie下只會顯示這是ie
或者使用
css hack:
\9 ie10之前的ie瀏覽器解析
+,* ie7包括ie7之前的ie瀏覽器解析
_ie6包括ie6之前的ie瀏覽器
.box
前端常見瀏覽器相容性問題及解決辦法
不同瀏覽器的核心也不盡相同,所以各個瀏覽器對網頁的解析存在一定的差異。1.不同瀏覽器的標籤預設的外補丁和內補丁不同 2.塊屬性標籤float後,又有橫行的margin情況下,在ie6顯示margin比設定的大 style3.設定較小高度標籤 一般小於10px 在ie6,ie7,遨遊中高度超出自己設定...
CSS常見相容性問題及解決方法
最近在研究瀏覽器相容性問題,所以準備寫篇愽客記錄一下 會持續更新 瀏覽器的相容性問題,通常是因為不同的瀏覽器對同一段 有不同的解析,造成頁面顯示不統一的情況。我們為了讓頁面形成統一的效果,要針對不同的瀏覽器或不同版本寫出對應可解析的css樣式,所以我們就把這個針對不同瀏覽器 版本而寫css的過程叫做...
CSS常見相容性問題及解決方案
css常見相容性問題及解決方案 1.上下margin重合問題 問題描述 相鄰的margin left和margin right是不會重合的,但是相鄰的塊級元素margin top 和margin bottom會產生重合。解決方案 統一設定margin top或者 marin bottom,不要混合使...