Css瀏覽器相容的解決方法

2021-06-21 05:00:06 字數 2902 閱讀 1898

一、網頁背景半透明

網頁背景半透明

**如下:

opacity:0.8;

#divname

二、清除浮動

**如下:

.clearfix:after

.clearfix

.clear

*html .clearfix

.clearfix

三、浮動ie6雙邊距

1、為浮動元素使用display:inline;

2、ie6下3px間距bug:在ie6中,當文字(或無浮動元素)跟在乙個浮動的元素之後,文字和這個浮動元素之間會多出3px的間隔,給浮動層新增display:inline或設計-3px的間距來解決這個bug。

3畫素間距bug

div+css中最小高度min-height

方法一:

**如下:

#divname

方法二:

**如下:

#divname

五、ie下z-index 的 bug

一般來講,ie對父級的要求比較高,如果父級有position屬性,但是沒有給z-index屬性,那預設都是0,所以不論子集裡面有多高的z-index屬性,都是沒用的。

所以一般情況下,需要給包含z-index屬性的父級乙個z-index:1的屬性,這樣可以解決很多莫名其妙的問題。

六、ie6調整視窗大小的bug

當把body居中放置,改變ie瀏覽器大小的時候,任何在body裡面的相對定位元素就會固定不動了,解決方法是給body定義position:relative;就行了。

七、文字大小和行高不相容

同樣大小的相同字型,各瀏覽器下行高和大小不一樣,需要設定line-height。

八、mirror margin bug

在ie6下,當外層元素內有float元素時,外層元素如定義margin-top:5px,將自動 生成margin-bottom:5px,padding也會出現類似問題,解決方案:外層元素設定border或float。

九、img下的留白

在html裡面有:

後面兩個標籤要緊挨著。ie7下這個bug依然存在,解決方案:display:block。

十、和文字同行

大家知道img 的align 有 text-top,middle,absmiddle啊什麼的,你可以嘗試去調整img 和文字讓他們在ie和ff下能一致,你會發現怎麼調都不會讓你滿意。索性讓img 和文字都 float起來,用margin 調整。

失去line-height。

,很遺憾,在ie6下單行文字 line-height 效果消失了。。。,原因是

css 相容要點: 

1、 doctype 影響css 處理 。

2 、ff: div 設定 margin-left, margin-right 為 auto 時已經居中, ie 不行。 

3 、ff: body 設定text-align 時, div 需要設定margin: auto(主要是 margin-left,margin-right) 方可居中。 

4 、ff: 設定padding 後, div 會增加 height 和 width, 但 ie 不會, 故需要用 !important 多設乙個 height 和 width。 

5 、ff: 支援 !important, ie 則忽略, 可用 !important 為 ff 特別設定樣式。 

6 、div 的垂直居中問題: vertical-align:middle; 將行距增加到和整個div一樣高 line-height:200px; 然後插入文字,就垂直居中了。缺點是要控制內容不要換行。 

7 、cursor: pointer 可以同時在 ie ff 中顯示游標手指狀, hand 僅 ie 可以。

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

xhtml+css相容性解決方案小集 

使用xhtml+css構架好處不少,但也確實存在一些問題,不論是因為使用不熟練還是思路不清晰,我就先把一些我遇到的問題寫在下面,省的大家四處找^^ 

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

**如下:

div  

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

**如下:

div  

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

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

div 

關於這個/**/是什麼我也不太明白,只知道ie5和firefox都支援但ie6不支援,如果有人理解的話,請告訴我一聲,謝了!:) 

3.ul標籤在mozilla中預設是有padding值的,而在ie中只有margin有值所以先定義 :

**如下:

ul  

就能解決大部分問題。 

4.關於指令碼,在xhtml1.1中不支援language屬性,只需要把**改為 

就可以了。

火狐瀏覽器CSS相容的解決方法

1.doctype 影響 css 處理 2.ff div 設定 margin left,margin right 為 auto 時已經居中,ie 不行 3.ff body 設定 text align 時,div 需要設定 margin auto 主要是 margin left,margin righ...

瀏覽器相容及解決方法

以後堅持一日一更,和大家分享我每天學習的成果及經驗,讓想要學習的小夥伴少走彎路。一 滑鼠樣式 ff不支援hand,使用cursor pointer相容所有瀏覽器 二 innertext 三 透明度 filter alpha opacity 0 100 相容ie8及以下 opacity 0 1相容主流...

火狐瀏覽器CSS相容的解決方法 部分

2.ff div 設定 margin left,margin right 為 auto 時已經居中,ie 不行 3.ff body 設定 text align 時,div 需要設定 margin auto 主要是 margin left,margin right 方可居中 4.ff 設定 paddi...