自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CSS忍者:安全的CSS hacks秘籍

開發(fā) 前端
你如何搞定 IE 這只難以馴服的怪獸?使用 CSS Hacks 或者條件注釋么?恐怕沒有什么解決方案是完美的。每個(gè)設(shè)計(jì)師或者前端碼農(nóng)都會(huì)有自己打敗 IE 行之有效的方法。所有這些技術(shù)都各有利弊,讓我們一起來看看。

通過條件判斷引入樣式表

使我們能很容易在 IE 瀏覽器中通過條件注釋語句加載指定樣式表,而其他非 IE 內(nèi)核瀏覽器則自動(dòng)忽略這段蹩腳的 HTML注釋。下面是一個(gè)例子:

  1. <!--[if IE 8]><link rel="stylesheet" href="ie8.css"><![endif]--> 
  2. <!--[if IE 7]><link rel="stylesheet" href="ie7.css"><![endif]--> 
  3. <!--[if IE 6]><link rel="stylesheet" href="ie6.css"><![endif]--> 

這段代碼會(huì)導(dǎo)致 IE8、IE7、IE6 各自加載對(duì)應(yīng)的樣式文件。這事實(shí)上是非常牛逼的,條件注釋給按瀏覽器加載各自不同的樣式表提供了可能,但同時(shí)需要維護(hù)多個(gè)樣式文件。

CSS hacks

這事實(shí)上是個(gè)齷齪的做法,能解決問題又不符合規(guī)范,看著也很頭大。大部分人看著它只能束手無策而又逼不得已?,F(xiàn)在可以來簡(jiǎn)單回顧一下IE 的 CSS hacks 常用的幾個(gè)方法:

  1. _selector{property:value;} //IE6  
  2. *selector{property:value;} //IE6 & IE7  
  3. selector{property:value\9;} //IE6 & IE7 & IE8 

這個(gè)一般人都知道,就不多說了。但面臨的一個(gè)現(xiàn)實(shí)問題是,\9 這個(gè) hack 不只是針對(duì) IE8 以及更老版本奏效,IE9 最終的發(fā)行版依舊會(huì)受到這個(gè) hack 的影響。而 IE9 本身在 CSS 上的各種缺陷又是被修復(fù)的。如果將來 IE10、IE11 來了,那又怎么辦?顯然 \9 并不是一個(gè)嚴(yán)謹(jǐn)?shù)陌踩姆桨浮?/p>

另外,采用不同的 X-UA-Compatible 模式也會(huì)影響不同版本的 IE 渲染差異。建議設(shè)置默認(rèn)渲染模式如下:

  1. <meta http-equiv="X-UA-Compatible" content="IE=Edge">//標(biāo)準(zhǔn) IE 模式 

那咋整呢?咋整咋整咋整?沒事,下面還有更絕的。

通過條件判斷插入指定類

既然可以用條件判斷,那么直接為不同 IE 版本輸出單獨(dú)用于設(shè)定樣式的鉤子類好了。直接上代碼:

  1. <!--[if !IE]><html><![endif]--> // 非 IE 瀏覽器的情況,不添加任何作用類  
  2. <!--[if IE 6]><html class="ie6"><![endif]--> 
  3. <!--[if IE 7]><html class="ie7"><![endif]--> 
  4. <!--[if IE 8]><html class="ie8"><![endif]--> 

如果要是 IE9、IE10 再想出現(xiàn)什么神奇的行為藝術(shù)的話,繼續(xù)添加指定作用類就行咯。并且你的樣式表也會(huì)變得異常干凈、整潔、美觀:

  1. .selector { color: black; }  
  2. .ie8 .selector { color: green; } /* IE8 */  
  3. .ie7 .selector { color: blue; } /* IE7 */  
  4. .ie6 .selector { color: red; } /* IE6 */ 

當(dāng)然,標(biāo)準(zhǔn)模式的 X-UA-Compatible 聲明還是必須的,以防頁面被強(qiáng)制按照低版本的 IE 來渲染。

關(guān)于條件注釋的參考資料:http://msdn.microsoft.com/en-us/library/ms537512.aspx

【編輯推薦】

  1. 44個(gè)驚人的超炫CSS3動(dòng)畫演示
  2. 六月最佳的HTML 5和CSS3教程強(qiáng)烈推薦
  3. HTML 5+CSS3攜手實(shí)現(xiàn)Mobie App的瓶頸
  4. CSS的未來:一些試驗(yàn)性CSS屬性
  5. 一個(gè)超棒的CSS小工具:最佳Web性能優(yōu)化
責(zé)任編輯:陳貽新 來源: 芒果
相關(guān)推薦

2009-07-15 18:23:36

跨流覽器多列布局

2010-09-02 13:53:58

CSS Sprites

2010-09-13 13:44:35

CSS表格CSS表單

2017-08-22 16:25:14

CSSHTML選擇器

2021-08-19 06:58:48

CSS頁面布局

2023-11-01 08:36:07

CSSTailwind

2024-04-30 10:59:03

WebSocketCSS選擇器

2025-02-08 09:33:58

2024-05-23 10:34:15

CSS 3CSS技術(shù)

2015-04-29 11:10:23

css sprite雪碧圖生成工具

2011-08-23 09:52:31

CSS

2020-07-24 15:40:51

CSS前端代碼

2010-09-02 09:59:52

CSS SpritesCSS

2017-04-27 14:05:59

CSS動(dòng)畫前端

2024-05-31 00:00:01

2025-01-23 09:09:29

2022-02-22 07:50:10

CSS前端CSS-doodle

2010-09-09 10:56:56

CSS

2022-04-07 07:31:30

CSSCSS Reset前端

2011-05-17 09:36:57

div+css
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)