關於瀏覽器相容性問題

2021-06-07 09:28:49 字數 1894 閱讀 9154

製作網頁時總會遇到各種瀏覽器的相容性問題,工作也有一段時間了,做了一點小總結希望分享給大家,共同進步。

1、 float定位。

float定位是css排版中的非常重要的手段,屬性float值:left、right、none(預設值),當設定了元素向左或者向右浮動時,元素會向其父元素的左側或右側靠緊。

在用float的同時我們要注意到

(1)      float元素的父元素不能指定clear屬性。

這是因為maeie下如果對float的元素父元素使用clear屬性,周圍的float元素布局就會混亂。

(2)      float元素無比知道那個width屬性

很多瀏覽器在顯示未指定width的float元素時會有bug,所以不管float元素的內容如何,一定要為其制定width屬性。(注意:制定元素時盡量使用em而不是px)

(3)      float元素不能指定margin和padding的屬性

ie在顯示指定了margin和padding的float元素時有bug。你可以再float元素內部巢狀乙個div來勢之margin和padding,也可以使用hack方法為ie指定特定的值。

(4)      float元素之核的寬度要小於100%

如果float元素的寬度和正好等於100%,為保證大多瀏覽器顯示正常,要是寬度之和小於100

2、margin加倍的問題。

設定為float的div在ie下設定的margin會加倍。這是乙個ie6都存在的bug。

解決方案是在這個div裡面加上display:inline;

margin:5px;/*ie下理解為10px*/

display:inline;/*ie下再理解為5px*/

3、 ie6中莫名出現多餘的字元

我遇到的現象是:ie6下有些問題,重複出現在第二行 ,就是某些段落或某些文字的末尾n個字元,他另起一行重複出現,在選選著重複出現的文字時,原有的文字也被選中

解決方法:很簡單,在重複出現文字的末尾補n個 ;就可以。

4、 ie7中正常,但ie8中不正常,div的位置position:absolute在ie8中不起作用

解決方法:設定html相容ie7,在head下加

5、針對ie6、ie7、火狐瀏覽器

(1)ie6 、ff對 !important;測試正常

ie7對!important;可以正確解釋。

為了使他們都正常:

#style1             ff正常顯示#333;

*html#style1         ie6顯示#666

*+html#style1       ie7顯示#999

*+html與*html是ie特有的標籤,firefox暫不支援,而*+html又為ie7特有的標籤。

注意:順序不能錯了。

(2)ff: 鏈結加邊框和背景色,需設定 display: block, 同時設定 float: left 保證不換行。參照 menubar, 給 a 和 menubar 設定高度是為了避免底邊顯示錯位, 若不設 height, 可以在 menubar 中插入乙個空格。

(3)在mozilla firefox和ie中的box模型解釋不一致導致相差2px解決方法:

div注意這兩個margin的順序一定不能寫反,據阿捷的說法!important這個屬性ie不能識別,但別的瀏覽器可以識別。所以在ie下其實解釋成這樣:

div重複定義的話按照最後乙個來執行,所以不可以只寫margin:xxpx!important;

(4)ie5 和ie6的box解釋不一致

ie5下

divdiv的寬度會被解釋為300px-10px(右填充)-10px(左填充)最終div的寬度為280px,而在ie6和其他瀏覽器上寬度則是以300px+10px(右填充)+10px(左填充)=320px來計算的。這時我們可以做如下修改

div

瀏覽器相容性問題

苦惱的區別 1.image repeat 在火狐裡比較正常,可是在ie中一直repeat.背景是乙個關閉的x號,div設定的backgourn image url xx 結果在ie中卻不行,最後找到原因是ie中要顯式的寫上image repeat norepeat這屬性,還有好多的差異,明天 去了 ...

瀏覽器相容性問題

瀏覽器相容問題一 不同瀏覽器的標籤預設的外補丁和內補丁不同 問題症狀 隨便寫幾個標籤,不加樣式控制的情況下,各自的margin 和padding差異較大。碰到頻率 100 解決方案 css裡 備註 這個是最常見的也是最易解決的乙個瀏覽器相容性問題,幾乎所有的css檔案開頭都會用萬用字元 來設定各個標...

瀏覽器相容性問題

解決方案 應該用ie8相容模式瀏覽網頁,而不應該用ie9或ie10渲染模式.很多使用者安裝ie10後發生很多網頁顯示錯亂,就是相容性的原因,因為ie10預設的渲染模式是ie10.此時應該將其改為ie7渲染模式。為什麼用ie6 7渲染模式的原因如下 中國所有網頁肯定都支援ie,支援ie就是支援ie核心...