Css Hack

1.什麼是CSS hack
      因爲不一樣廠商的流覽器或某瀏覽器的不一樣版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),對CSS的支持、解析不同,致使在不一樣瀏覽器的環境中呈現出不一致的頁面展示效果。這時,咱們爲了得到統一的頁面效果,就須要針對不一樣的瀏覽器或不一樣版本寫特定的CSS樣式,咱們把這個針對不一樣的瀏覽器/不一樣版本寫相應的CSS code的過程,叫作CSS hack!css

2.CSS hack的原理
   因爲不一樣的瀏覽器和瀏覽器各版本對CSS的支持及解析結果不同,以及CSS優先級對瀏覽器展示效果的影響,咱們能夠據此針對不一樣的瀏覽器情景來應用不一樣的CSS。html

3.CSS hack分類
   CSS Hack大體有3種表現形式:html5

  1. CSS屬性前綴法(即類內部Hack):例如 IE6能識別下劃線""和星號" ",IE7能識別星號" ",但不能識別下劃線"",IE6~IE10都認識"\9",但firefox前述三個都不能認識。
  2. 選擇器前綴法(即選擇器Hack):例如 IE6能識別html .class{},IE7能識別+html .class{}或者*:first-child+html .class{}。
  3. 以及IE條件註釋法(即HTML條件註釋Hack):這類Hack不只對CSS生效,對寫在判斷語句裏面的全部代碼都會生效。
    實際項目中CSS Hack大部分是針對IE瀏覽器不一樣版本之間的表現差別而引入的。

CSS hack書寫順序,通常是將適用範圍廣、被識別能力強的CSS定義在前面。web

一、<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
這行代碼是永遠以最新的IE版本模式來顯示網頁,使IE支持HTML5。
二、<meta name="renderer" content="webkit">
這行代碼是360瀏覽器渲染頁面需默認用極速內核
三、只在IE下生效
<!--[if IE]> 這段文字只在IE瀏覽器顯示 <![endif]-->chrome

只在IE6下生效
<!--[if IE 6]> 這段文字只在IE6瀏覽器顯示 <![endif]-->瀏覽器

只在IE6以上版本生效
<!--[if gte IE 6]> 這段文字只在IE6以上(包括)版本IE瀏覽器顯示 <![endif]-->ui

只在IE8上不生效
<!--[if ! IE 8]> 這段文字在非IE8瀏覽器顯示 <![endif]-->.net

非IE瀏覽器生效
<!--[if !IE]> 這段文字只在非IE瀏覽器顯示 <![endif]-->firefox

只在IE9如下版本生效
<!--[if lt IE 9]> <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"> <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"> <![endif]-->code

詳細資源:http://www.jb51.net/css/493362.html

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息