什么是css hack
由于不同廠商的流覽器或某瀏覽器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),對(duì)CSS的支持、解析不一樣,導(dǎo)致在不同瀏覽器的環(huán)境中呈現(xiàn)出不一致的頁面展現(xiàn)效果。這時(shí),我們?yōu)榱双@得統(tǒng)一的頁面效果,就需要針對(duì)不同的瀏覽器或不同版本寫特定的CSS樣式,我們把這個(gè)針對(duì)不同的瀏覽器/不同版本寫相應(yīng)的CSS code的過程,叫做CSS hack!
css hack分類
- CSS屬性前綴法(即類內(nèi)部Hack):
例如 IE6能識(shí)別下劃線""和星號(hào)" * ",IE7能識(shí)別星號(hào)" * ",但不能識(shí)別下劃線"",IE6~IE10都認(rèn)識(shí)"\9",但firefox前述三個(gè)都不能認(rèn)識(shí)。 - 選擇器前綴法(即選擇器Hack):例如 IE6能識(shí)別html .class{},IE7能識(shí)別+html .class{}或者*:first-child+html .class{}。
- 以及IE條件注釋法(即HTML條件注釋Hack):這類Hack不僅對(duì)CSS生效,對(duì)寫在判斷語句里面的所有代碼都會(huì)生效。
實(shí)際項(xiàng)目中CSS Hack大部分是針對(duì)IE瀏覽器不同版本之間的表現(xiàn)差異而引入的。
CSS hack書寫順序,一般是將適用范圍廣、被識(shí)別能力強(qiáng)的CSS定義在前面。
1、<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
這行代碼是永遠(yuǎn)以最新的IE版本模式來顯示網(wǎng)頁,使IE支持HTML5。
2、<meta name="renderer" content="webkit">
這行代碼是360瀏覽器渲染頁面需默認(rèn)用極速內(nèi)核
3、只在IE下生效
只在IE6下生效
只在IE6以上版本生效
只在IE8上不生效
非IE瀏覽器生效
只在IE9以下版本生效
詳細(xì)資源:http://www.jb51.net/css/493362.html