直接的拢驾,不廢話性置!
什么是CSS hack吨枉?
由于不同廠商的流覽器或某瀏覽器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等)主儡,對CSS的支持奖唯、解析不一樣,導(dǎo)致在不同瀏覽器的環(huán)境中呈現(xiàn)出不一致的頁面展現(xiàn)效果糜值。這時,我們?yōu)榱双@得統(tǒng)一的頁面效果坯墨,就需要針對不同的瀏覽器或不同版本寫特定的CSS樣式寂汇,我們把這個針對不同的瀏覽器/不同版本寫相應(yīng)的CSS code的過程,叫做CSS hack!
CSS hack的原理:
由于不同的瀏覽器和瀏覽器各版本對CSS的支持及解析結(jié)果不一樣捣染,以及CSS優(yōu)先級對瀏覽器展現(xiàn)效果的影響骄瓣,我們可以據(jù)此針對不同的瀏覽器情景來應(yīng)用不同的CSS。
CSS hack的分類:
CSS Hack大致有3種表現(xiàn)形式:CSS屬性前綴法耍攘、選擇器前綴法榕栏、IE條件注釋法(即HTML頭部引用if IE)Hack。
實際項目中CSS Hack大部分是針對IE瀏覽器不同版本之間的表現(xiàn)差異而引入的蕾各。
屬性前綴法(即類內(nèi)部Hack):例如 IE6能識別下劃線""和星號" * "扒磁,IE7能識別星號" * ",但不能識別下劃線""式曲,IE6~IE10都認(rèn)識"\9"妨托,但firefox前述三個都不能認(rèn)識缸榛。
選擇器前綴法(即選擇器Hack):例如 IE6能識別html .class{},IE7能識別+html .class{}或者*:first-child+html .class{}兰伤。
IE條件注釋法(即HTML條件注釋Hack):針對所有IE(注:IE10+已經(jīng)不再支持條件注釋): 内颗,針對IE6及以下版本: 。這類Hack不僅對CSS生效敦腔,對寫在判斷語句里面的所有代碼都會生效均澳。
CSS hack書寫順序,一般是將適用范圍廣符衔、被識別能力強的CSS定義在前面找前。
更詳細的內(nèi)容請移步:
http://blog.csdn.net/zhcscs/article/details/46969251
感謝該博客的作者辛苦總結(jié)整理!