原文:http://www.qianduan.net/?p=6572 譯自:http://www.divitodesign.com
版權(quán)所有,轉(zhuǎn)載請注明出處,謝謝。
或許你知道,Internet Explorer 6 已經(jīng)不是最先進(jìn)的瀏覽器了。事實(shí)上,它已經(jīng)八歲了,但是很多人還在使用這個(gè)不安全的瀏覽器。正因?yàn)槿绱,網(wǎng)頁設(shè)計(jì)師不得不額外擔(dān)心他們的網(wǎng)站在IE6下的表現(xiàn)。
在CSS 框架和模板出現(xiàn)以后,一些布局的問題可以很容易解決掉,但是顯然這不能解決全部問題。這些問題通?梢酝ㄟ^普通的CSS來解決,但是有時(shí)候只針對IE顯示一些(樣式)信息可能會更好。
這是用條件注釋是可以實(shí)現(xiàn)的。條件注釋只支持Windows系統(tǒng)中的IE瀏覽器。通過這些技巧,我們可以為基于Windows的IE5、6、7、8添加一些特殊的行為。這樣做的好處是,HTML和CSS代碼可以通過驗(yàn)證。
條件注釋的格式
所有可用的條件注釋標(biāo)簽是基于相同的原理的。這些條件注釋可用于所有的IE瀏覽器版本。
<!--[if IE]> 如果用戶使用IE瀏覽器,這里的信息會生效。 <![endif]-->
根據(jù)情況不同,你需要添加一個(gè)瀏覽器版本號。比如,或許你想讓IE5.5使用一個(gè)不同的樣式表:
<!--[if IE 5.5]> <link rel="stylesheet" href="css/ie5.css" type="text/css" media="screen, projection" /> <![endif]-->
或者只針對IE7:
<!--[if IE 7]> <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" /> <![endif]-->
你已經(jīng)掌握了要領(lǐng)了,是吧?
我們還能用條件注釋做什么?
微軟同樣為這些條件注釋添加了一些參數(shù)。比如,我們可以使用高于或等于某個(gè)版本、低于或等于某個(gè)版本。添加這些的確很方便。
比如說,我們要給IE7以及以下的瀏覽器添加一個(gè)不同的樣式表,我們可以這樣做:
<!--[if lte IE 7]> <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" /> <![endif]-->
或者我們想為IE6以上的瀏覽器創(chuàng)建一個(gè)不同的樣式表:
<!--[if gte IE 6]> <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" /> <![endif]-->
我們可以在我們的條件注釋中使用以下參數(shù):
- lte - 低于或等于
- lt - 低于
- gte - 高于或等于
- gt - 高于
- (IE6)|(IE7) - Internet Explorer 6或 Internet Explorer 7
- (IE6)&(IE7) - Internet Explorer 6 和 Internet Explorer 7
- 點(diǎn)擊這里查看更多參數(shù)
使用條件注釋讓用戶升級他們的過時(shí)的瀏覽器
我通常不使用條件注釋來修正瀏覽器bug。我使用他們的方法是告訴人們,他們使用的是一個(gè)過時(shí)的瀏覽器。在此類信息里面,我告訴他們,為了安全和更多功能,他們應(yīng)該升級他們的瀏覽器。
<!--[if lt IE 7]> <p class="error">警告!您正在使用一款過時(shí)的瀏覽器。這個(gè)版本的瀏覽器功能比較簡單而且不夠<strong>安全</strong>。請升級您的瀏覽器到<a href="Internet Explorer 7+.</p> <![endif]-->
通過這種方法,在用戶看到這條消息的時(shí)候,你可以告訴用戶,他們不應(yīng)該使用這個(gè)版本的瀏覽器,然后他們就可能升級到一個(gè)更先進(jìn)的瀏覽器。
正如你看到的這樣,你可以在你的網(wǎng)站中使用這些條件注釋的好處。
前幾天前端觀察發(fā)表了一系列的 條件CSS 的用法,那些用法是基于這個(gè)條件注釋的擴(kuò)展用法。當(dāng)然這種條件注釋的用法比較簡單方便,但是 使用條件css 可以實(shí)現(xiàn)更高級的功能。請注意,本文所講的條件注釋可以直接在HTML代碼中使用,而條件CSS需要配合程序?qū)崿F(xiàn)。——神飛
本文鏈接:http://m.95time.cn/tech/web/2009/6533.asp
出處:前端觀察
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|