四二、js操作DOM(dom)改变css3属性时封装方法使自动识别浏览器添加css3属性前缀

本文介绍了一种通过JavaScript自动为CSS3属性添加浏览器前缀的方法。通过封装一个简单的JS函数,可以实现在不同浏览器环境下统一管理CSS3样式,简化了前端开发中样式兼容性处理的工作。

CSS3属性很多需要带各浏览器的前缀,当使用DOM操作来改变CSS3属性时代码会很多并且麻烦


一、封装prefixStyle.js 

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)  //js中使用驼峰命名,—转换为大写
}


二、页面中使用

import {prefixStyle}from'common/js/prefixStyle.js
const transform = prefixStyle('transform')
const backdrop = prefixStyle('backdrop-filter')

this.$refs.layer.style[transform] = `translate3d(0,${translateY}px,0)`
this.$refs.filter.style[backdrop] = `blur(${blur}px)`

这样浏览器就会自动为CSS3添加属性前缀了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值