CSS常見相容性問題及解決方案

2021-09-25 16:28:07 字數 1447 閱讀 6047

css常見相容性問題及解決方案:

1. 上下margin重合問題:

問題描述:相鄰的margin-left和margin-right是不會重合的,但是相鄰的塊級元素margin-top 和margin-bottom會產生重合。

解決方案:統一設定margin-top或者 marin-bottom,不要混合使用。

問題原因:標籤中的樣式順序出現了錯誤。

解決方案:將他們的樣式排序為 a:link , a:visited , a:hover , a:active .

3.行內元素上下margin及padding不拉開元素間距的問題:

問題描述:行內元素的margin和padding屬性很奇怪,水平方向的padding-left、padding-right、margin-left、margin-right都產生邊距效果,但豎直方向的padding-top、padding-bottom、margin-top、margin-bottom卻不會產生邊距效果。

解決方案:將行內元素display設定為block即可解決

4.不同瀏覽器的標籤預設的外間距和內間距不同

問題描述:隨便寫幾個標籤,不加樣式控制的情況下,各自的margin 和padding差異較大。

解決方案:在css檔案開頭用萬用字元*來設定各個標籤的內外邊距是0。

margin: 0px;

padding:0px;

5.ul在瀏覽器中不同表現,具有預設邊距在不同瀏覽器中顯示的位置不同:

問題描述:在ie中,ul的預設邊距是margin,在firefox中,ul的預設邊距是padding。

解決方案:設定其屬性 padding:0px ; margin : 0px;

6.按鈕預設大小不一:

問題描述:不同瀏覽器的預設按鈕大小可能不同。

問題描述:幾個img標籤(行內標籤)放在一起的時候,有些瀏覽器會有預設的間距,加了問題一中提到的萬用字元也不起作用。

解決方案:使用float屬性為img布局

8.雙倍浮動問題:

問題描述:塊狀元素float後,有新增了橫向的margin,在ie6下比設定的值要大。

解決方案:給float標籤新增display:inline,將其轉換為行內元素

9.設定較小高度的容器(小於10px),在ie6下不識別小於10px的高度

問題描述:ie8之前的瀏覽器都會給標籤乙個最小預設的行高的高度,一般會出現在設定小圓角背景標籤裡。

解決方案:給容器新增overflow:hidden;或者設定行高line-height 小於你設定的高度。

10.容器不擴充套件問題:

問題描述:div巢狀結構中,外層的高度並沒有隨著子容器的高度自動擴充套件,卻是形成了一條線。

問題原因:因為當子容器成為浮動元素後,並脫離了文件流,父容器認為自己內容為空而導致的。

解決問題:在容器的末尾加入個清理浮動的div。 在網頁中的任何地方,當遇到容器不擴充套件時,只需加入以下**段,便能修復問題。

CSS相容性問題以及解決方案

h5標籤相容 header section footer 等 使用js建立標籤document.createlement header 元素浮動之後,能設定寬度的話,就給元素加寬度,如果需要寬度是內容撐開,就給它裡面的快元素加上浮動 清理浮動 overflow hidden 第一塊元素浮動,第二塊加...

CSS常見瀏覽器相容性問題與解決方案

在前端專案中,經常會碰到需要處理不同瀏覽器相容性的css樣式,故在此做初步的記錄總結,後續繼續更新完善。現象 不同瀏覽器標籤的margin padding差異較大 解決方案 解決方案 在float的css標籤樣式控制中新增display inline,將其轉換為行內屬性 原因 ie8以前的瀏覽器會給...

常見的相容性問題解決方案

1.區別ie和非ie瀏覽器 demo1 2.區別ie6,ie7,ie8,ff 區別符號 9 示例 demo2 說明 因為ie系列瀏覽器可讀 9 而ie6和ie7可讀 公尺字型大小 另外ie6可辨識 底線 因此可以依照順序寫下來,就會讓瀏 覽器正確的讀取到自己看得懂得css語法,所以就可以有效區分ie...