CSS兼容性問題 && CSS HACK
來源:易賢網(wǎng) 閱讀:1005 次 日期:2015-02-06 15:46:27
溫馨提示:易賢網(wǎng)小編為您整理了“CSS兼容性問題 && CSS HACK”,方便廣大網(wǎng)友查閱!

以前做網(wǎng)頁的時候,只考慮 IE6 和 FF 的兼容性,公司換了,要求也高了,F(xiàn)F和IE 6 7 8 要全兼容了,

碰到要單獨Hack IE8的。當然,用注釋非常方便,只要添加相應的注釋就可以解決。但問題是,為了一句CSS寫多一個文件,或者在header上添加注釋,那顯然不是懶人的習慣做法。結(jié)論如下:

selector{

property:value; /* 所有瀏覽器 */

property:value\9; /* 所有IE瀏覽器 */

+property:value; /* IE7 */

_property

當然,注意順序。根據(jù)CSS的優(yōu)先性,上面的寫法,分別針對Firefox、IE8、IE7和IE6顯示值。讓我們看看這個:

CSS代碼如下:

p.ie{

height:60px;text-align:center;line-height:60px;border:1px dashed #bbb;background:#f7f7f7;font:15;

color:blue; // 所有瀏覽器

color:brown\9; // 所有IE瀏覽器

+color:red; // IE7

_color:green; // IE6

}

HTML 代碼:

<body style="width:500px;margin:0 auto;">

<p class="ie">

<span style="display:block;display:none\9;">嘿嘿,小子竟然也用Firefox,藍色文字。</span>

<!--[if IE 8]>不錯不錯,挺先進的嘛,使用IE8呢!文字是褐色的。<![endif]-->

<!--[if IE 7]>你,IE7,紅色文字!<![endif]-->

<!--[if IE 6]>孩子,雖然顯示的是綠色文字,不過,IE6可不是好東西呢!<![endif]-->

</p>

</body>

注意下面介紹的這些hack寫法僅適用于XHTML1.0。如果沒有在HTML最前加上

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " xmlns="">

那么效果將不一樣!此外,這里所說的IE8,不是指IE8的兼容模式,因為IE8的兼容模式其實就是IE7。

區(qū)別IE6、7與FF/IE8:

background:blue;*background:orange;

引用

顯示效果:

IE 6/7:orange

FF/IE8:blue

原理:FF/IE8不支持*開頭,而IE6/7都支持。

區(qū)別IE6與IE7/IE8/FF:

background:green;_background:blue;

引用

顯示效果:

IE7/8/FF:green

IE6:blue

原理:IE6支持下劃線"_",IE7、8和firefox均不支持下劃線。

區(qū)別FF/IE8和IE6/7:

background:orange;+background:green;-background:blue;

或者

background:orange;*background:green!important;*background:blue;

引用

顯示效果:

IE6:blue

IE7:green

FF/IE8:orange

原理:IE6能識別-,IE7能識別+,IE8和FF都不能識別+和-

IE8/FF都不識別*,IE7優(yōu)先識別!important,IE6不能識別!important。

關于IE8的hacks:

.test{

color:/*\**/#00f\9; /* IE8 only */

color:#00f\9; /* 適用于所有IE版本 */

}

可同時區(qū)分IE8、IE7、IE6、Firefox的CSS hacks:

.test{

color:#000; /* Firefox */

color:/*\**/#00f\9; /* IE8 */

*color:#f00; /* IE7 */

_color:#0f0; /* IE6 */

}

添加相應的注釋解決兼容性問題

注釋相應的Css文件:

<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />

<!--[if IE 6]>

<link rel="stylesheet" type="text/css" href="css/IE6style.css" media="screen" />

<![endif]-->

<!--[if IE 7]>

<link rel="stylesheet" type="text/css" href="css/IE7style.css" media="screen" />

<![endif]-->

<!--[if gte IE 8]>

<link rel="stylesheet" type="text/css" href="css/IE8style.css" media="screen" />

<![endif]-->

注釋相應的Css 內(nèi)容:

<!--[if ie 6]>

<style>

<!--

#warp{ padding-bottom:11px;}

-->

</style>

<![endif]-->

<!--[if ie 7]>

<style>

<!--

#warp{ padding-bottom:11px;}

-->

</style>

<![endif]-->

<!--[if ie 8]>

<style>

<!--

#warp{ padding-bottom:11px;}

-->

</style>

<![endif]-->

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機網(wǎng)站地址:CSS兼容性問題 && CSS HACK
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢?yōu)闇剩?/div>

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)