標籤:isp end webkit 混淆 避免 one 文檔 保留 說明
條件Hack
文法:
<!--[if <keywords>? IE <version>?]>HTML代碼塊<![endif]-->
<keywords>
if條件共包含6種選擇方式:是否、大於、大於或等於、小於、小於或等於、非指定版本
-
是否:
-
指定是否IE或IE某個版本。關鍵字:空
-
大於:
-
選擇大於指定版本的IE版本。關鍵字:gt(greater than)
-
大於或等於:
-
選擇大於或等於指定版本的IE版本。關鍵字:gte(greater than or equal)
-
小於:
-
選擇小於指定版本的IE版本。關鍵字:lt(less than)
-
小於或等於:
-
選擇小於或等於指定版本的IE版本。關鍵字:lte(less than or equal)
-
非指定版本:
-
選擇除指定版本外的所有IE版本。關鍵字:!
<version>
目前的常用IE版本為6.0及以上,推薦酌情忽略低版本,把精力花在為使用進階瀏覽器的使用者提供更好的體驗上
用於選擇IE瀏覽器及IE的不同版本
- if條件Hack是HTML層級的(包含但不僅是CSS的Hack,可以選擇任何HTML代碼塊)
<!--[if IE]><p>你在非IE中將看不到我的身影</p><![endif]-->
樣本demo:
<!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8" /><title>if條件Hack_CSS參考手冊_web前端開發參考手冊系列</title><style>h1{margin:10px 0;font-size:16px;}span{display:none;}.not-ie{display:inline;}</style><!--[if IE]><style>.ie{display:inline;}.not-ie{display:none;}</style><![endif]--><!--[if IE 5]><style>.ie5{display:inline;}</style><![endif]--><!--[if IE 6]><style>.ie6{display:inline;}</style><![endif]--><!--[if IE 7]><style>.ie7{display:inline;}</style><![endif]--><!--[if IE 8]><style>.ie8{display:inline;}</style><![endif]--><!--[if IE 9]><style>.ie9{display:inline;}</style><![endif]--></head><body><div> 您正在使用 <span class="not-ie">非IE</span> <span class="ie">IE</span> <span class="ie5">5</span> <span class="ie6">6</span> <span class="ie7">7</span> <span class="ie8">8</span> <span class="ie9">9</span> 瀏覽器</div></body></html>
CSS 屬性 HACK
文法:
selector{<hack>?property:value<hack>?;}_:
-
選擇IE6及以下。連接線(中劃線)(-)亦可使用,為了避免與某些帶中劃線的屬性混淆,所以使用底線(_)更為合適。
-
*:
-
選擇IE7及以下。諸如:(+)與(#)之類的均可使用,不過業界對(*)的認知度更高
-
\9:
-
選擇IE6+
-
\0:
-
選擇IE8+和Opera
-
[;property:value;];:
-
選擇webkit核心瀏覽器(Chrome,Safari)。IE7及以下也能識別。中括弧內外的3個分號必須保留,第一個分號前可以是任意規則或任意多個規則
-
[;color:#f00;]; 與 [color:#f00;color:#f00;]; 與 [margin:0;padding:0;color:#f00;]; 是等價的。生效的始終是中括弧內的最後一條規則,所以通常選用第一種寫法最為簡潔。
選擇不同的瀏覽器及版本
樣本:
<!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8" /><title></title><style>h1{margin:10px 0;font-size:16px;}.test{ color:#c30; /* For Firefox */ [;color:#ddd;]; /* For webkit(Chrome and Safari) */ color:#090\0; /* For Opera */ color:#00f\9; /* For IE8+ */ *color:#f00; /* For IE7 */ _color:#ff0; /* For IE6 */}</style></head><body><div class="test">在不同瀏覽器下看看我的顏色吧</div></body></html>
前端學習 -- Html&Css -- 條件Hack 和屬性Hack