(持續更新)瀏覽器兼容性總結—之前端開發常用屬性及api
max-width,min-width ie7以上支持
rgba 只支持ie9及以上瀏覽器,ie8要用濾鏡處理
border-radius 也只支持ie9以上 不需要加前綴
box-sizing ie8以上都兼容 但是要加上前綴
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
:hover a標簽的hover全兼容,其他標簽hover 只支持ie9及以上
mouseenter和mouseleve事件 ie全系列支持,目前版本的w3c瀏覽器也都兼容,一般不需要兼容處理
與鼠標或觸摸事件相關的區域,要加上背景屬性才會有效,不需要背景時設置rgba透明即可(設置transparent也無效)
background-color: rgba(0,0,0,0);/*設置背景透明,防止ie10及以下點擊事件或者其他鼠標事件失效*/
偽元素,z-index 全系列兼容
透明兼容
filter:alpha(opacity=0);
opacity:0;
classlist屬性只支持ie10及以上
transtation屬性只支持ie10及以上,所以過渡效果不一定有效
@keyframe 規則和 animation 屬性只支持ie10及以上
transform :
Internet Explorer 10、Firefox、Opera 支持 transform 屬性。
Internet Explorer 9 支持替代的 -ms-transform 屬性(僅適用於 2D 轉換)。
Safari 和 Chrome 支持替代的 -webkit-transform 屬性(3D 和 2D 轉換)。
Opera 只支持 2D 轉換。
js全屏事件api只支持ie11以上,所以用控制css代替
cursor屬性ie全支持
background-size ie9及以上支持 /*現在的瀏覽器不需要加前綴了*/
background: linear-gradient(to bottom, #ffffff, #000);/*顏色漸變效果,ie10+*/
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#ffffff, endColorstr=#000000);/*ie9兼容,只支持上下左右,並且會讓元素border-radius失效,解決辦法:給父元素設置border-radius,並且overflow: hidden*/
onselectstart 事件,用來禁用文字選中
webkit瀏覽器:行內加onselectstart="return false;"
firefox 行內或css加-moz-user-select:none;
標準寫法:
<div class="arrow" id="arrow" onselectstart="return false;">123</div>
#arrow {
-moz-user-select:none;
}
CSS3 @media 查詢 支持ie9及以上
getAttribute() 所有瀏覽器都支持 setAttribute() ie9及以上支持。removeAttribute()所有瀏覽器都支持
以上都可以操作 自定義屬性 和 行內內置屬性
.操作符無法獲取行內自定義屬性,只能獲取行內默認屬性 ,也只能設置行內默認屬性或者js哩dom對象的自定義屬性
dataset 只支持ie11及以上。
addEventListener和removeEventListener,ie9及以上支持
firstElementChild獲取第一個子元素節點對象,ie9及以上支持
backface-visibility 只有 Internet Explorer 10+ 和 Firefox 支持 backface-visibility 屬性。
Opera 15+、Safari 和 Chrome 支持替代的 -webkit-backface-visibility 屬性。
Html5 新語義標簽 如header, section, footer, aside, nav, main, article, figure等 IE9及以上全支持
(持續更新)瀏覽器兼容性總結—之前端開發常用屬性及api