武林網(www.49028c.com)文章簡介:在CSS 框架和模板出現以后,一些布局的問題可以很容易解決掉,但是顯然這不能解決全部問題。這些問題通??梢酝ㄟ^普通的CSS來解決,但是有時候只針對IE顯示一些(樣式)信息可能會更好。
原文:?p=6572
譯自:
版權所有,轉載請注明出處,謝謝。
或許你知道,Internet Explorer 6 已經不是最先進的瀏覽器了。事實上,它已經八歲了,但是很多人還在使用這個不安全的瀏覽器。正因為如此,網頁設計師不得不額外擔心他們的網站在IE6下的表現。
在CSS 框架和模板出現以后,一些布局的問題可以很容易解決掉,但是顯然這不能解決全部問題。這些問題通??梢酝ㄟ^普通的CSS來解決,但是有時候只針對IE顯示一些(樣式)信息可能會更好。
這是用條件注釋是可以實現的。條件注釋只支持Windows系統中的IE瀏覽器。通過這些技巧,我們可以為基于Windows的IE5、6、7、8添加一些特殊的行為。這樣做的好處是,HTML和CSS代碼可以通過驗證。
條件注釋的格式
所有可用的條件注釋標簽是基于相同的原理的。這些條件注釋可用于所有的IE瀏覽器版本。
<!--[if IE]>
如果用戶使用IE瀏覽器,這里的信息會生效。
<![endif]-->
根據情況不同,你需要添加一個瀏覽器版本號。比如,或許你想讓IE5.5使用一個不同的樣式表:
<!--[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]-->
你已經掌握了要領了,是吧?
我們還能用條件注釋做什么?
微軟同樣為這些條件注釋添加了一些參數。比如,我們可以使用高于或等于某個版本、低于或等于某個版本。添加這些的確很方便。
比如說,我們要給IE7以及以下的瀏覽器添加一個不同的樣式表,我們可以這樣做:
<!--[if lte IE 7]>
<link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" />
<![endif]-->
或者我們想為IE6以上的瀏覽器創建一個不同的樣式表:
<!--[if gte IE 6]>
<link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" />
<![endif]-->
我們可以在我們的條件注釋中使用以下參數:
使用條件注釋讓用戶升級他們的過時的瀏覽器
我通常不使用條件注釋來修正瀏覽器bug。我使用他們的方法是告訴人們,他們使用的是一個過時的瀏覽器。在此類信息里面,我告訴他們,為了安全和更多功能,他們應該升級他們的瀏覽器。
<!--[if lt IE 7]>
<p class="error">警告!您正在使用一款過時的瀏覽器。這個版本的瀏覽器功能比較簡單而且不夠<strong>安全</strong>。請升級您的瀏覽器到<a href="" href="">下載FireFox</a> 或 <a href="Internet'>">
Internet Explorer 7+.</p>
<![endif]-->
通過這種方法,在用戶看到這條消息的時候,你可以告訴用戶,他們不應該使用這個版本的瀏覽器,然后他們就可能升級到一個更先進的瀏覽器。
正如你看到的這樣,你可以在你的網站中使用這些條件注釋的好處。
前幾天前端觀察發表了一系列的 條件CSS 的用法,那些用法是基于這個條件注釋的擴展用法。當然這種條件注釋的用法比較簡單方便,但是 使用條件css 可以實現更高級的功能。請注意,本文所講的條件注釋可以直接在HTML代碼中使用,而條件CSS需要配合程序實現。——神飛
新聞熱點
疑難解答