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
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