CSS3是CSS的最新規(guī)范,包含了很多新的屬性和特效,讓網(wǎng)頁設(shè)計更加美觀和實用。然而,由于不同的瀏覽器并不完全支持CSS3,所以在編寫CSS3代碼的時候需要考慮到兼容性的問題。
常見針對CSS3屬性兼容性處理的方法包括:
p { -webkit-border-radius: 5px; /* Safari, Chrome, Opera */ -moz-border-radius: 5px; /* Firefox */ border-radius: 5px; /* CSS3 Standard */ }
1. 使用瀏覽器前綴
有些瀏覽器會在一些實驗性的屬性前加上自己的前綴,如-webkit-或-moz-等。這些前綴可以讓不同瀏覽器更好地識別CSS代碼,從而減少兼容性問題。
p { -webkit-box-shadow: 3px 3px 3px #666; /* Safari 3+ */ -moz-box-shadow: 3px 3px 3px #666; /* Firefox 4+ */ box-shadow: 3px 3px 3px #666; /* Standard */ }
2. 使用特定的CSS屬性
有些CSS屬性雖然不是CSS3屬性,但是它們可以實現(xiàn)類似的效果。對于一些不支持CSS3屬性的瀏覽器,我們可以使用相應(yīng)的替代屬性來代替。
p { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#ffffff'); /* IE6-9 */ background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#fff)); /* Safari 4+, Chrome */ background: -moz-linear-gradient(top, #ccc, #fff); /* Firefox */ background: linear-gradient(to bottom, #ccc, #fff); /* Standard */ }
3. 使用JavaScript
有些瀏覽器不支持CSS3,我們可以通過JavaScript來判斷瀏覽器類型,然后動態(tài)地為不同瀏覽器加載不同的CSS代碼。
if(navigator.userAgent.indexOf('MSIE') !== -1) { document.write(""); } else { document.write(""); }
以上是關(guān)于CSS3屬性兼容性處理的一些常見方法,當(dāng)然還有其他的一些方法,下次再和大家分享。
上一篇css3嵌入式