原文地址: 小昱博客 - 瀏覽器兼容性雜談 轉載請註明出處,謝謝!javascript
GitHub官方地址css
<!--[if IE]> <script src="html5shiv.js"></script> <![endif]-->
Respond.js讓IE6-8支持CSS3 Media Queryhtml
GitHub官方地址html5
1.在css中正經常使用 min/max-width media queriesjava
@media screen and (min-width: 480px){ ...styles for 480px and up go here }
2.引入respond.min.js,但要在css的後面(越早引入越好,在ie下面看到頁面閃屏的機率就越低,由於最初css會先渲染出來,若是respond.js加載得很後面,這時從新根據media query解析出來的css會再改變一次頁面的佈局等,因此看起來有閃屏的現象)css3
<!--[if IE]> <script src="respond.js"></script> <![endif]-->
1.把head中全部 的css路徑取出來放入數組git
2.而後遍歷數組一個個發ajax請求github
3.ajax回調後僅分析response中的media query的min-width和max-width語法,分析出viewport變化區間對應相應的css塊web
4.頁面初始化時和window.resize時,根據當前viewport使用相應的css塊。ajax
優勢:壓縮後僅1k,不跨域時性能ok,只需引入respond.js通用易用
缺點:僅支持media query的min-width和max-width(用於響應式夠用);支持跨域,雖然配置有點麻煩,實現跨域代價高並且有閃屏體驗欠佳。
Selectivizr的使用很是的簡單,可是並不能直接使用,在使用前須要先加載下列框架中的任何一個:JQuery、dojo、prototype、Yahoo YUI、DOMAssistant、mootools、NVMatcher。須要注意的是Selectivizr對各個框架的支持程度不一,具體可查看官方網站。 而後在頁面裏引用Selectivizr便可。
<script type="text/javascript" src="[JS library]"></script> <!--[if lt IE 9]> <script type="text/javascript" src="selectivizr-min.js"></script> < ![endif]-->