什么是 CSS hack
由于市面上存在的各種不同瀏覽器,以及同種瀏覽器的不同版本,對CSS的解析不完全一樣,可能導致在不同的瀏覽器下頁面效果存在一定的差異。
因此,我們可以針對不同瀏覽器的解析方式,寫出各種對應的的CSS語句,從而使頁面在各種瀏覽器下都能呈現我們想要的效果。
談一談瀏覽器兼容的思路
1、首先我們從產品受眾所使用的瀏覽器、網站特性、實現兼容所需的成本等角度出發(fā),綜合考慮,確認是否需要處理瀏覽器的兼容問題;
2、如果需要兼容,那么進一步確認需要兼容哪些瀏覽器,以及兼容到何種程度。一般而言,國內瀏覽器以webkit內核和IE為主,所以通常情況下只要考慮是否需要兼容IE,以及兼容到IE的哪個版本;
3、選擇和確認通過何種方法/工具/框架來實現兼容。
列舉5種以上瀏覽器兼容的寫法

以下工具/名詞是做什么的
條件注釋:于Html源碼中被IE有條件解釋的語句??梢詫⑺斫鉃橐环N特殊的注釋,在一般情況下和普通注釋一樣不會被瀏覽器解析,但在IE6-9中可以被瀏覽器解析,從而呈現出某些特定的樣式。
IE Hack:針對不同版本的IE瀏覽器,寫出與之對應的的CSS語句,從而實現對IE各版本的兼容。
js 能力檢測:檢測當前瀏覽器是否支持某些特定的js樣式。
html5shiv.js:針對不支持Html5的IE6/7/8瀏覽器,模擬出一些Html5中的標簽樣式,使其能夠在這類瀏覽器下正常顯示。
respond.js:針對不支持CSS3媒體查詢的IE6/7/8瀏覽器,模擬媒體查詢功能,從而實現頁面響應式。
css reset:強制清除和重置瀏覽器賦予頁面的默認樣式,使頁面在所有瀏覽器下的初始樣式保持一致。
normalize.css:css reset的改良版,它不再一味地強制將所有瀏覽器的默認樣式清除,而是優(yōu)化和保留了一部分合理的樣式,并且確保它們在不同瀏覽器下能呈現出一致的狀態(tài)。
Modernizr:檢測當前瀏覽器是否支持某些特定的樣式屬性,通過修改Html的class,使頁面呈現最優(yōu)的樣式,從而解決瀏覽器的兼容問題。
postCSS:一個能夠提供CSS插件的平臺,這些插件主要被用來解決瀏覽器兼容性問題。我們只需要按照正常寫法編寫CSS語句,通過這些插件的處理,可以使這些語句變成能夠被特定瀏覽器識別的語句。