Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

          為了向你展示這些 CSS Hack 是否正常運作,我新建六個 P 標簽,并給每一個 P 標簽一個特有的 id。這將向你展示 CSS Hack 的運作情況。

          <p id="opera">我來自 Opera 7.2 - 9.5</p> 

          <p id="safari">我是神奇的 Safari</p> 

          <p id="firefox">我來自 Firefox</p> 

          <p id="firefox12">我是你爺爺 Firefox 1 - 2 </p>

           <p id="ie7">我是囧 IE 7</p> 

          <p id="ie6">我是腦瘸 IE 6</p> 

            然后我讓這些 P 標簽默認都不顯示

          <style type="text/css"> body p{display: none;} </style> 

            使用 IE CSS 條件注釋區分 IE 瀏覽器

            最簡單的區分 IE 瀏覽器的方法自然是使用他們的條件注釋。 微軟創建了一個強大的語法來讓我們去實現這個功能。我不想再詳細地介紹 IE 條件注釋了,我想你在搜索引擎能搜索到上萬個搜索條目,我這里只要這兩個:

          <!--[if IE 7]> 

          <style type="text/css"> 

          </style> <![endif]-->

           <!--[if IE 6]> 

          <style type="text/css"> </style> 

          <![endif]--> 

            使用 CSS 解析器 Hacks 區分 IE

            雖說 IE 條件注釋十分簡單好用,但是如果你想把全部的 CSS 放到一個文件里的 話,那么你不得不使用別的方法。注意這里的 IE 7 Hack將只對 IE7 有效,因為 IE6 根本不知道 > 選擇符。同時你也得注意  > 選擇符對于其他瀏覽器同樣是無效的。

          html > body #ie7 {*display: block;} 

           body #ie6 {_display: block;} 

            CSS Hack 區分 Firefox

            第一個使用了 body:empty 來區分 Firefox 1 和 2 。第二個 hack使用了全部 Firefox 瀏覽器的專有擴展 -moz。 -moz 只對 Firefox有效,使用這個 Hack 大可不必擔心其他瀏覽器的影響。

          body:empty #firefox12 {display: block;}

          @-moz-document url-prefix() {#firefox { display: block; }}  

            CSS Hack 區分 Safari

            Safari 的 CSS hack 與 Firefox 的 hack 看起來很像,使用的是 Safari瀏覽器的專有擴展 -webkit 且只對 Safari 瀏覽器有效。

          @media screen and (-webkit-min-device-pixel-ratio:0) {#safari { display: block; }} 

            CSS Hack 區分 Opera

          @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {head~body #opera { display: block; }} 

            然后,全部合在一起便是

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

          <html lang="en">

          <head>

          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

          <title>CSS Browser Hacks - 52css.com</title>

          <style type="text/css">

          body p {

              display: none;

          }

          html:first-child #opera {

              display: block;

          }

           html > body #ie7 {

          *display: block;

          }

           body #ie6 {

              _display: block;

          }

          body:empty #firefox12 {

              display: block;

          }

           

          @-moz-document url-prefix() {

           #firefox {

              display: block;

          }

          }

          @media screen and (-webkit-min-device-pixel-ratio:0) {

          #safari {

          display: block;

          }

          }

          @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {

          head~body #opera {

          display: block;

          }

          }

          </style>

          </head>

          <body>

          <p id="opera">我來自 Opera 7.2 - 9.5</p>

          <p id="safari">我是神奇的 Safari</p>

          <p id="firefox">我來自 Firefox</p>

          <p id="firefox12">我是你爺爺 Firefox 1 - 2 </p>

          <p id="ie7">我是囧 IE 7</p>

          <p id="ie6">我是腦瘸 IE 6</p>

          </body>

          </html>

           

            CSS Hack 雖好且方便兼容各瀏覽器,但是通不過 W3C 驗證,所以還得自己權衡是否有必要去使用。

          posted on 2010-12-08 15:39 seal 閱讀(807) 評論(0)  編輯  收藏 所屬分類: CSS
          主站蜘蛛池模板: 岳池县| 吴堡县| 涞源县| 金堂县| 柘荣县| 庄浪县| 蓬莱市| 蕉岭县| 南涧| 安达市| 东明县| 玉林市| 布拖县| 贵南县| 玛纳斯县| 乐东| 汉中市| 华蓥市| 郧西县| 崇明县| 体育| 南投市| 武鸣县| 赣州市| 泾川县| 台安县| 礼泉县| 万荣县| 和政县| 东台市| 峨眉山市| 乐陵市| 清镇市| 新竹县| 鄂尔多斯市| 盐山县| 赤峰市| 高邮市| 神池县| 卓尼县| 仪陇县|