国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

使用條件注釋判斷 IE 瀏覽器版本適用于IE5.0及以上版本

2024-07-11 08:52:34
字體:
來源:轉載
供稿:網友

IE條件注釋是一種特殊的HTML注釋,這種注釋只有IE5.0及以上版本才能理解。比如普通的HTML注釋是:

<!--This is a comment-->

而只有IE可讀的IE條件注釋是:

<!--[if IE]> <![endif]-->

“非IE條件注釋”:

<!--[if !IE]>--> non-IE HTML Code <!--<![endif]-->

“非特定版本IE條件注釋”(很少用到):

<!--[if ! lt IE 7]><![IGNORE[--><![IGNORE[]]>Code for browsers that match the if condition<!--<![endif]-->

簡而言之,除了“Windows上的IE”之外的所有瀏覽器都會認為條件注釋只是一段普通的HTML注釋。你不能在CSS代碼中使用條件注釋。IE條件注釋是很有用的對IE隱藏或者展現特定代碼的方法,比起在CSS中用詭異的_/制造bug,利用IE條件注釋來寫CSS “hacks”是更合理的方法。通俗點,條件注釋就是一些if判斷,但這些判斷不是在腳本里執行的,而是直接在html代碼里執行的。

條件注釋的基本結構和HTML的注釋(<!– –>)是一樣的。因此IE以外的瀏覽器將會把它們看作是普通的注釋而完全忽略它們。
IE將會根據if條件來判斷是否如解析普通的頁面內容一樣解析條件注釋里的內容。
條件注釋使用的是HTML的注釋結構,因此他們只能使用在HTML文件里,而不能在CSS文件中使用。

從語法上看這是相當合法的普通HTML注釋。任何瀏覽器都會認為<!–和–>之間的部分是注釋從而忽略它。但是IE也會看到其中[if IE]>,從而開始解釋接下來的代碼直到遇到<![endif]。所以,下面這些代碼不會顯示在任何其他瀏覽器中面。

通過“比較操作符”可以更靈活地對IE版本進行控制,用法是在IE前面加上“比較操作符”。合法的操作符如下:

lte:就是Less than or equal to的簡寫,也就是小于或等于的意思。
lt :就是Less than的簡寫,也就是小于的意思。
gte:就是Greater than or equal to的簡寫,也就是大于或等于的意思。
gt :就是Greater than的簡寫,也就是大于的意思。
! :就是不等于的意思,跟javascript里的不等于判斷符相同

示例:

<!–[if gt IE 5.5]> / 如果IE版本大于5.5 /
<!–[if lte IE 6]> / 如果IE版本小于等于6 /
<!–[if !IE]> / 如果瀏覽器不是IE /

雖然看上去當你第一次使用條件注釋的時候會更費時,但當你以后調試你的CSS的時候,就會發現非常方便。用條件注釋你只需要寫一遍HTML注釋,而用bug你需要為每一條規則都寫上又長又丑的代碼,而且還經常是為了改變其他的hacks而寫的hacks。除此之外條件注釋對于不支持它的任何瀏覽器而言都是合法的HTML注釋。以下為條件注釋與CSS hacks的一些區別:

Hacks是基于瀏覽器的bug,而這些bug最終可能會被修復。
條件注釋是基于IE特定代碼,這種識別機制任何時候都不會被移除。
每一個瀏覽器都能看見你的hacks,或許下一個版本或者一個新的瀏覽器會在你的hacks代碼上出錯。
只有IE才能看到條件注釋,通過額外的“IE文件”來影響頁面,其他瀏覽器根本就不會下載它。
Hacks不能確保對哪些瀏覽器生效而對哪些不,用的hacks越多,代碼越混亂。
條件注釋利用版本匹配使得作者可以容易地對特定版本寫代碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桦南县| 会理县| 大渡口区| 栾城县| 逊克县| 霍林郭勒市| 通化县| 凭祥市| 上虞市| 安宁市| 乌兰浩特市| 日喀则市| 元氏县| 张家口市| 滦南县| 图木舒克市| 巴中市| 贺兰县| 正宁县| 汶川县| 军事| 邛崃市| 玛纳斯县| 东丰县| 玉林市| 新巴尔虎右旗| 永昌县| 大邑县| 封开县| 收藏| 科尔| 汶川县| 康乐县| 富民县| 昭觉县| 舒兰市| 盈江县| 罗源县| 宜良县| 天峻县| 翁牛特旗|