亚洲天堂一级片-亚洲天堂三区-亚洲天堂久久精品成人-亚洲天堂毛片-久久国产欧美日韩高清专区-久久国产欧美日韩精品免费

北大青鳥課程講解之:css hack

北京北大青鳥學校學術部老師講解:CSS hack由于不同的瀏覽器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,對CSS的解析認識不一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。 這個時候我們就需要針對不同的瀏覽器去寫不同的CSS,讓它能夠同時兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。這個針對不同的瀏覽器寫不同的CSS code的過程,就叫CSS hack!

北大青鳥學校丁老師介紹:編輯本段CSS Hack的原理是什么
由于不同的瀏覽器對CSS的支持及解析結果不一樣,還由于CSS中的優先級的關系。我們就可以根據這個來針對不同的瀏覽器來寫不同的CSS。

CSS Hack大致有3種表現形式,CSS類內部Hack、選擇器Hack以及HTML頭部引用(if IE)Hack,CSS Hack主要針對IE瀏覽器。

類內部Hack:比如 IE6能識別下劃線"_"和星號" * ",IE7能識別星號" * ",但不能識別下劃線"_",而firefox兩個都不能認識。等等

選擇器Hack:比如 IE6能識別*html .class{},IE7能識別*+html .class{}或者*:first-child+html .class{}。等等

HTML頭部引用(if IE)Hack:針對所有IE:<!--[if IE]><!--您的代碼--><![endif]-->,針對IE6及以下版本:<!--[if lt IE 7]><!--您的代碼--><![endif]-->,這類Hack不僅對CSS生效,對寫在判斷語句里面的所有代碼都會生效。

書寫順序,一般是將識別能力強的瀏覽器的CSS寫在后面。下面如何寫里面說得更詳細些。(北大青鳥課程

 

北大青鳥學校丁老師介紹:如何寫CSS Hack

比如要分辨IE6和firefox兩種瀏覽器,可以這樣寫:

  <style>

  div{

  background:green; /* for firefox */

  *background:red; /* for IE6 */

  }

  </style>

我在IE6中看到是紅色的,在firefox中看到是綠色的。(北大青鳥課程)

北大青鳥學校解釋一下:

上面的css在firefox中,它是認識不了后面的那個帶星號的東東是什么的,于是將它過濾掉,不予理睬,解析得到的結果是:div{background:green},于是理所當然這個div的背景是綠色的。

在IE6中呢,它兩個background都能識別出來,它解析得到的結果是:div{background:green;background:red;},于是根據優先級別,處在后面的red的優先級高,于是當然這個div的背景顏色就是紅色的了。(北大青鳥課程)

  CSS hack:區分IE6,IE7,firefox

  區別不同瀏覽器,CSS hack寫法:

  區別IE6與FF:

  background:orange;*background:blue;

  區別IE6與IE7:

  background:green !important;background:blue;

  區別IE7與FF:

  background:orange; *background:green;

  區別FF,IE7,IE6:

  background:orange;*background:green;_background:blue;

  background:orange;*background:green !important;*background:blue;

  注:IE都能識別*;標準瀏覽器(如FF)不能識別*;

  IE6能識別*,某些情況下不能識別 !important,(北大青鳥課程)

  -----------------------------------------------------------------------------------------------

  IE6支持重定義中的!important,例如:

  .yuanxin {color:#e00!important;}

  .yuanxin {color:#000;}

  你將會發現定義了樣式class="yuanxin"時,在IE下,字體顯示為紅色(#e00)。

  但不支持同一定義中的!important。例如:

  .yuanxin {color:#e00!important;color:#000}

  此時在IE6下不支持,你將會發現定義了樣式class="yuanxin"時,字體顯示為黑色(#000)。

  不包括如下這種形式的同一定義中的!important。

  #pageOver{height:expression(document.documentElement.offsetHeight)!important;

  height:100%;}此種形式的定義,IE6中是可以解釋到important的。

  -----------------------------------------------------------------------------------------------

  IE7能識別*,也能識別!important;

  FF不能識別*,但能識別!important;

                          IE6                 IE7                 FF

  *                         √                 √                 ×

  !important         ×                 √                √

瀏覽器優先級別:FF<IE7<IE6,CSS hack書寫順序一般為FF IE7 IE6

 

  以: " #demo {width:100px;} "為例;(北大青鳥課程)

  #demo {width:100px;} /*被FIREFOX,IE6,IE7執行.*/

  * html #demo {width:120px;} /*會被IE6執行,之前的定義會被后來的覆蓋,所以#demo的寬度在IE6就為120px; */

  *+html #demo {width:130px;} /*會被IE7執行*/

  ---------------

  所以最后,#demo的寬度在三個瀏覽器的解釋為:

  FIREFOX:100px;

  ie6:120px;

  ie7:130px;

  IE8 最新css hack:

  "\9" 例:"border:1px \9;".這里的"\9"可以區別所有IE和FireFox.

   "\0" IE8識別,IE6、IE7不能.

  "*" IE6、IE7可以識別.IE8、FireFox不能.

  "_" IE6可以識別"_",IE7、IE8、FireFox不能.(北大青鳥課程)

以上內容由北京北大青鳥學校學術部提供

北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 美女视频黄a全部免费专区一 | 欠草视频| 国产成人一区免费观看 | www一级片| 欧美在线观看免费一区视频 | 色综合久久88色综合天天 | 久久曰视频 | 国产精品国产欧美综合一区 | 美女毛片在线看 | 国产三级国产精品国产国在线观看 | 日本a级三级三级三级久久 日本a级特黄三级三级三级 | 欧洲免费无线码二区5 | 国产精品亚洲四区在线观看 | 国内精品九一在线播放 | 香蕉久久久久 | 日韩美女一区 | 国产情侣普通话刺激对白 | 国产后式a一视频 | 成人久久久久久 | 久久免费视频8 | 91久久夜色精品国产网站 | 波多野结衣被强在线视频 | 欧美成人精品不卡视频在线观看 | 超矿碰人人超人人看 | 99久久精品久久久 | japanese色系国产在线高清 | 亚洲欧美视频在线观看 | 久久久久久91精品色婷婷 | 欧美一级精品高清在线观看 | 亚洲成人综合网站 | 色综合亚洲七七久久桃花影院 | 亚洲日产综合欧美一区二区 | 日韩一区二区三区视频 | 成年人免费黄色片 | 亚洲黄色官网 | 99久久99热精品免费观看国产 | 韩国一级毛片在线观看 | 国产精品亚洲综合久久 | 国产欧美日韩视频在线观看一区二区 | foot国产女王脚视频 | 日韩精品免费一区二区 |