前端CSS相容的一些思路

2022-03-21 17:56:38 字數 2392 閱讀 2244

半夜睡不著覺,起來寫第一博。

近段時間,公司要給乙個**產品增加乙個換色功能,安排我負責該事項。

之前參與過一些定製專案,是基於該產品的二次開發,說實話裡面的前端結構很混亂。所以第一步就是將html前端標籤進行了重構,規範了標籤結構和classname。第二步就開始按照產品原有的樣式增加css**。

.top_border.left_border.right_border.bottom_border

<

div>

<

div

class

="top_border"

>

div>

<

div

class

="left_border"

>

div>

<

div

class

="content"

>

...div>

<

div

class

="right_border"

>

div>

<

div

class

="bottom_border"

>

div>

<

div>

在重構時,我直接把這個結構修改為最簡化的版本

<

div

class

="content"

>

div>

這裡就有點問題:使用boder-radius可以實現圓角邊框,但是不支援ie7 、ie8。

當時我認為,我的這個規範是正確的,所以希望通過不修改html的**結構來完成對ie7/ie8的相容。

搜尋了一下ie7/ie8的解決方案:

就以此為基礎,使用js來對ie7/ie8進行相容。主要**邏輯如下: 

if( typeof (document.documentelement.style["border-radius"]) == "string")//

判斷是否支援

);        

this.css();                

var bordercolor = this.css("border-color");

var background = this.css("background-color");

var borderstyle = this.css("borer-style");

//重設邊框,只保留兩側邊框        

this.css();//

//建立html結構,實現上下邊框

var setting = ;

var i = 0;

for(; i < 3; i++)

);b.prepend(t.clone(

true

));        }

var t = $("").css();

b.prepend(t.clone(true));

}});

$(".content").borderradius(5);//設定圓角

$(".border1").borderradius(5);

}

雖然執行時的html結構變化了,但是編碼時的html結構沒有變化,也算是一種相容方式吧。

還記得以前也有js處理過一些其他偽類的相容,一起列出來:

場景:滑鼠移入顯示二級選單。

通常的做法:

.menu{}.menu li ul.menu li:hover ul

<

ul class

="menu"

>

<

li><

a>一級

a>

<

ul >

<

li><

a>二級

a>

li>

<

li><

a>二級

a>

li>

ul>

li>

ul>

當ie6不支援時,可以進行調整

.menu{}.menu li ul.menu li:hover ul,.menu li_hover ul/*增加了乙個樣式名*/

增加相容js

if(不支援:hover)

,function())

}

增加下面的js,還可以相容觸屏

if

(觸屏)

else

});}

以上這些方式僅是個人喜好而已。歡迎各位發表見解。

CSS中一些相容問題

1.img底部有一小段空白 加個邊框看看就知道了 解決 display block vertical align top middle bottom 不是baseline就行 2.ie6,float方向與margin方向一致時,margin會雙倍顯示 解決 display inline 3.ie6,...

CSS相容的一些解決方法

css 對瀏覽器的相容性有時讓人很頭疼,或許當你了解當中的技巧跟原理,就會覺得也不是難事,從網上收集了ie7,6與fireofx的相容性處理方法並整理了 一下.對於web2.0的過度,請盡量用xhtml格式寫 而且doctype 影響 css 處理,作為w3c的標準,一定要加doctype宣告.cs...

前端 易混淆的一些css屬性

html平時常見的塊元素有 div,p,h1,h2,h3等,address 位址 blockquote 塊引用 center 舉中對齊塊 dir 目錄列表 div 常用塊級 dl 定義列表 fieldset form控制組 form 互動表單 h 標題標籤 hr 水平分隔線 isindex inpu...