2010年12月15日 星期三

排除NN4、IE4、MAC IE5套用樣式表


 NN4、IE4、MAC IE5 這3個版本瀏覽器在套用目前常用css後,
排版會亂掉以外嚴重的會造成視窗凍結強制終止等狀況,
所以遇到這幾款瀏覽器的使用者,
採不套用css的處理會比較好。

做法如下:

因為NN4不會匯入media屬性為多個值的樣式表,
所以故意在media屬性寫入一個以上的參數,例:media="screen,tv",
這樣除了NN4無法匯入樣式表,
其他的瀏覽器都會正常匯入css樣式表。

XHTML

<!-- 排除NN4套用樣式表(NN4不會匯入media屬性為多個值的樣式表) -->
<link href="css/import.css" rel="stylesheet" type="text/css" media="screen,tv" />

ie4只會匯入url("style.css");的寫法,
加上MACie5無法匯入用單引號寫法的import,
所以直接以  @import 'style.css'; 方式匯入真正的css樣式表,
ie4、MACie5 就無法匯入真正的css樣式表了。

import.css

/*排除ie4匯入樣式表(IE4需以url()寫法才能正常匯入樣式表)*/
/*排除MACie5匯入樣式表(MAC不載入單引號的匯入)*/

@import 'style.css';

經過以上2次匯入的處理,
真正的css檔只會被NN4、IE4、MAC IE5 以外 的瀏覽器匯入套用。

style.css

@charset "utf-8";
/* CSS Document */
body {
margin: 0px;
text-align:center;/*修正ie5.5以前版本無法使用auto置中問題*/
}
#container{
width:950px;
margin-right: auto;
margin-left: auto;
text-align:left;/*修正ie5.5以前版本無法使用auto置中問題(body置中後內容要恢復成置左 )*/
}
#main-sub{
float:left;
width:770px;
}
#extra{
float:right;
width:180px;
}
#main{
float:right;
width:590px;
}
#sub{
float:left;
width:180px;
}
#footer{
clear:both;
width:950px;/*Windows版IE對策*/
}


WYT筆記:https://sites.google.com/site/wanyutang/

參考:Web+設計的黃金則-XHTML+CSS虎之卷

沒有留言:

張貼留言