CSS hack因爲不一樣廠商的瀏覽器,好比Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一廠商的瀏覽器的不一樣版本,如IE6和IE7,對CSS的解析認識不徹底同樣,所以會致使生成的頁面效果不同,得不到咱們所須要的頁面效果。 這個時候咱們就須要針對不一樣的瀏覽器去寫不一樣的CSS,讓它可以同時兼容不一樣的瀏覽器,能在不一樣的瀏覽器中也能獲得咱們想要的頁面效果。css
一、瀏覽器運行的模式:html
標準模式(只支持標準代碼)、混雜模式、準標準模式(標準和非標準均可以運行);瀏覽器
例如:標準代碼cursor:pointer;小手 IE下能夠運行 cursor:hand;spa
不一樣模式對CSS框模型和JS解析都有必定的影響;依靠<!doctype>進行模式選擇;code
二、CSSHack工做原理:經過選擇器或樣式的優先級來解決兼容性問題;htm
①CSS類內部Hack:經過先後綴的方式來解決兼容性blog
②選擇器Hack:在選擇器前加前綴解決兼容性utf-8
③HTML頭部引用Hack:經過條件註釋來解決兼容性問題get
<!doctype html> <html> <head> <title></title> <meta charset="utf-8"> <link rel="stylesheet" href="css/style_all.css"> <!--[if IE 6]> <link rel="stylesheet" href="css/style_ie6.css"> <![endif]--> <!--[if IE 8]> <link rel="stylesheet" href="css/style_ie8.css"> <![endif]--> </head> <body> <div id="d1"></div> </body> </html>