/** *瀏覽器兼容寫法封裝 */ let elementStyle = document.createElement('div').style let vendor = (() => { let transformNames = { webkit: 'webkitTransform', Moz: 'MozTransform', O: 'OTransform', ms: 'msTransform', standard: 'transform' } for (let key in transformNames) { if (elementStyle[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) }
//調用web
const transform = prefixStyle('transform')
const backdrop = prefixStyle('backdrop-filter')瀏覽器
div.style[transform] = `translate3d(0,0,0)` 等同於 div.style['transform'] = `translate3d(0,0,0)`spa
div.style[backdrop] = `blur(4px)`等同於 div.style['backdrop'] = `blur(4px)`3d