在前端的開發中,兼容性問題一直是一個讓開發者頭疼的問題,尤其是在CSS的開發過程中,兼容性是一個不可避免的問題。CSS兼容性問題主要表現在以下兩個方面:瀏覽器的兼容性以及各種設備的兼容性。
/* 瀏覽器的兼容性 */ /* 以下代碼為了解決IE6-IE7不支持box-sizing的問題 */ div{ -moz-box-sizing: border-box; /*兼容firefox*/ -webkit-box-sizing: border-box; /*兼容chrome、safari*/ box-sizing: border-box; /*兼容IE8+、FF、Chrome、Safari*/ } /* 各種設備的兼容性 */ /* 以下為了解決移動端設備上字體太小的問題 */ body{ font-size: 18px; /*Chromium、Firefox、Safari*/ font-size: 125%; /*未使用rem情況下,適應移動設備*/ -webkit-text-size-adjust: 125%; /*適應webkit內核瀏覽器*/ -ms-text-size-adjust: 125%; /*適應IE瀏覽器*/ }
針對瀏覽器的兼容性問題,我們可以通過CSS3新增的特性以及瀏覽器前綴等方式來做到多個瀏覽器的兼容性。而針對各種設備的兼容性問題,通常我們可以采用媒體查詢、彈性布局、rem、viewport等方法來解決。
不過,在開發的過程中,我們還是要遵從Web標準,盡量使用標準的CSS語法和屬性,避免使用一些非標準屬性或API,這樣可以盡量減少在以后兼容性問題的出現。