前言

在用vue写一个项目时,编译时vue-loader会自动给css加上合适的前缀,无需手动添加,无疑方便了很多。但是过程中,经常要用js动态添加样式,如此添加的样式就需要手动添加浏览器前缀了。相当的麻烦,还容易出错。下面介绍一种解决方法供大家参考。

获取样式表

首先的获取该浏览器支持的样式表,可以通过创建一个空标签来获取

var sty = document.createElement("div").style复制代码

通过chrome控制台打印出来是这样的(ps: 不同浏览器结果不同)

遍历样式表

现在前缀主要有这四种:webkit,moz,o,ms
通过遍历来匹配对应的前缀并返回

var vendor = (() => {let transformNames = {webkit: 'webkitTransform',moz: 'mozTransform',ms: 'msTransform',o: 'oTransfrom',Default: 'transform'};for(let key in transformNames) {if(sty[transformNames[key]] !== undefined) {return key;}}// 若都找不到,说明这个浏览器有毛病啦return false;
})();复制代码

使用

最后再封装成函数,即可使用了

function prefixStyle(style) {if(vendor === false) {return false;}if(vendor === 'Default') {return style;}//    对应前缀 +       首字母大写           +  剩余部分return vendor + style.charAt(0).toUpperCase() + style.substr(1);
}复制代码

测试

以上就是js中的css prefix。欢迎大家分享更多的解决办法。

js操作样式自动prefix相关推荐

  1. html中js添加或删除activex,JS:操作样式表2 :用JS实现添加和删除一个类名的功能(addClass()和removeClass())...

    var box = document.getElementById("box"); box.id = "pox"; 将id = "box", ...

  2. day04【JS高级】BOM对象、Window对象、二种定时器、 Location对象、DOM对象、DOM获取元素、DOM操作内容、DOM操作属性、DOM操作样式、DOM操作元素(标签)、 正则表达式

    回顾 1. js基础语法运算符:算数运算符可以与字符串进行数学运算,js底层进行隐式转换比较运算符:===(恒等) 特点,比较类型+内容流程控制语句if判断条件表达式:1)布尔2)数值:非0为真3)字 ...

  3. js 操作元素属性、操作元素样式、display(none、block)

    js操作元素属性 <!DOCTYPE html> <html lang="en"> <head><meta charset="U ...

  4. “是男人就下一百层”h5游戏全网最详细教学、全代码,js操作

    "是男人就下一百层"h5游戏全网最详细教学.全代码,js操作 博主的话 游戏展示 编程工具介绍 游戏代码 代码讲解 js 第一步 切换div的显示与隐藏 js 第二步 在菜单页面用 ...

  5. 浅谈Word.Application,关于js操作word文档的使用

    这篇文章只是说个人放个笔记在这里,并没有讲解的意思,但为了进来的朋友能知道我在说啥,写的过程中我还是简单介绍一下. 官网地址:https://docs.microsoft.com/zh-cn/offi ...

  6. 【转载】常备JS操作

    常备JS操作 转自:http://www.cfcodes.com/?ID=221 //事件源对象 event.srcElement.tagName event.srcElement.type //捕获 ...

  7. Python笔记_64_Vue_M-V-VM思想_显示数据_常用指令_操作属性_绑定事件_操作样式_条件渲染指令_列表渲染指令

    文章目录 Vue vue.js的M-V-VM思想 快速使用 显示数据 常用指令 操作属性 绑定事件 操作样式 条件渲染指令 列表渲染指令 Vue vue.js是目前前端web开发最流行的工具库,由尤雨 ...

  8. html自定义datajs,科技常识:HTML5的自定义属性data-*详细介绍和JS操作实例

    今天小编跟大家讲解下有关HTML5的自定义属性data-*详细介绍和JS操作实例 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5的自定义属性data-*详细介绍和JS操作实例 的 ...

  9. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。

    jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...

最新文章

  1. Model Selection Evaluation
  2. Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理
  3. MySQL执行外部sql脚本文件的命令
  4. [目标检测] Faster R-CNN 深入理解 改进方法汇总
  5. DataGridView控件机制及使用大全
  6. 高可用Hadoop平台-Oozie工作流之Hadoop调度
  7. python排序问题_Python简单处理坐标排序问题示例
  8. Android 内存泄漏检测工具
  9. SSL-ZYC 2402 世界语
  10. c语言通讯录程序设计个人感言,人生经验 C语言程序设计的感悟
  11. jsp管理系统页面模板_管理后台原型设计分享- 政务管理系统
  12. Oracle项目管理系统之供应商筛选及资格预审
  13. html在线画板代码,html5在线画板
  14. 9. Go复合类型-数组
  15. PhotoBulk for Mac(图像批量添加水印工具)
  16. 利用百度文库实现精准引流
  17. Java 身份证号码验证工具类
  18. keras 入门教程(一)
  19. 设计模式之CS和BS结构的区别
  20. 功放前级的左右_Altitude32前级功放题 - 什么是全景声功放_全景声功放有哪些

热门文章

  1. 海南2021高考成绩分数查询时间,2021海南高考成绩查询公布时间今天几点可以查询...
  2. 用户管理系统_【20201204】做个用户管理系统(18)——注册功能的实现(三)...
  3. java项目close wait_java – 排除连接卡在CLOSE_WAIT状态
  4. @retention注解作用_Spring 最核心的注解,都是干货!
  5. 人工智能诗歌写作平台_智能写作VS人工写作,Giiso写作机器人解放你的创造力...
  6. python输入多个数据存入列表_python怎么把input的值储存到一个列表
  7. cad自动标注界址点_这样绘制cad施工图,提升效率至少3倍以上!
  8. 插入模板_现场组装楼梯踏步模板施工支设细节
  9. long转时间 unity_Unity3D如何获取时间戳或北京时间
  10. python爬虫资源大全_Python爬虫抓取纯静态网站及其资源(基础篇)