经常会在做属性兼容的时候频繁的这种类似的代码
transition:width 2s; -moz-transition:width 2s; /* Firefox 4 */ -webkit-transition:width 2s; /* Safari and Chrome */ -o-transition:width 2s; /* Opera */
这样的前缀写起来十分繁琐影响开发进度为此封装出一下方法
let elemnetStyle =document.createElement('div').style
let vendor =(()=>{
let transformNames = {
webkit:'webkitTransform',
Moz:'MozTransform',
O:'msTransform',
standard:'transform',
}
for(let key in transformNames){
if(elemnetStyle[transformNames[key]] !== undefined){
return key
}
}
return false
})()
export function prefixStyle (style) {
if (vendor === false) {
return false
}
if (vendor === 'standard') {
return style
}
return vendor + style.charAt(0).toUpperCase() + style.substr(1)
}
调用的时候


主要思路就是:
1.先创建一个div元素,获取它的style属性
2.通过vendor方法 遍历属性匹配出当前的浏览器内核类型
3.将需要做兼容的属性通过prefixStyle方法传入,最后return出对应浏览器的兼容属性
浙公网安备 33010602011771号