用JS动态设置CSS样式常见方法小结(推荐)


Posted in Javascript onNovember 10, 2016

用JS来动态设置CSS样式,常见的有以下几种

1. 直接设置style的属性 某些情况用这个设置 !important值无效

如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留 - 号,就中括号的形式 element.style['text-align'] = '100px';

element.style.height = '100px';

2. 直接设置属性(只能用于某些属性,相关样式会自动识别)

element.setAttribute('height', 100);
element.setAttribute('height', '100px');

3. 设置style的属性

element.setAttribute('style', 'height: 100px !important');

4. 使用setProperty 如果要设置!important,推荐用这种方法设置第三个参数

element.style.setProperty('height', '300px', 'important');

5. 改变class 比如JQ的更改class相关方法

因JS获取不到css的伪元素,所以可以通过改变伪元素父级的class来动态更改伪元素的样式

element.className = 'blue';
element.className += 'blue fb';

6. 设置cssText

element.style.cssText = 'height: 100px !important';
element.style.cssText += 'height: 100px !important';

7. 创建引入新的css样式文件

function addNewStyle(newStyle) {
var styleElement = document.getElementById('styles_js');
if (!styleElement) {
styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.id = 'styles_js';
document.getElementsByTagName('head')[0].appendChild(styleElement);
}
styleElement.appendChild(document.createTextNode(newStyle));
}
addNewStyle('.box {height: 100px !important;}');

8. 使用addRule、insertRule

// 在原有样式操作
document.styleSheets[0].addRule('.box', 'height: 100px');
document.styleSheets[0].insertRule('.box {height: 100px}', 0);
// 或者插入新样式时操作
var styleEl = document.createElement('style'),
styleSheet = styleEl.sheet;
styleSheet.addRule('.box', 'height: 100px');
styleSheet.insertRule('.box {height: 100px}', 0);
document.head.appendChild(styleEl);

以上所述是小编给大家介绍的用JS动态设置CSS样式常见方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
input 和 textarea 输入框最大文字限制的jquery插件
Oct 27 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
js关于getImageData跨域问题的解决方法
Oct 14 Javascript
解决Window10系统下Node安装报错的问题分析
Dec 13 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
老生常谈ES6中的类
Jul 31 Javascript
vue中遇到的坑之变化检测问题(数组相关)
Oct 13 Javascript
vue input输入框模糊查询的示例代码
May 22 Javascript
基于AngularJs select绑定数字类型的问题
Oct 08 Javascript
微信小程序自定义toast组件的方法详解【含动画】
May 11 Javascript
原生JS实现留言板功能
Feb 08 Javascript
js实现ajax的用户简单登入功能
Jun 18 Javascript
关于json字符串与实体之间的严格验证代码
Nov 10 #Javascript
jquery日历插件e-calendar升级版
Nov 10 #Javascript
Vue.js开发环境搭建
Nov 10 #Javascript
js 获取本地文件及目录的方法(推荐)
Nov 10 #Javascript
javascript中的后退和刷新实现方法
Nov 10 #Javascript
jQuery中Nicescroll滚动条插件的用法
Nov 10 #Javascript
js对字符串进行编码的方法总结(推荐)
Nov 10 #Javascript
You might like
php文件上传类完整实例
2016/05/14 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
python实现简单http服务器功能
2018/09/17 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
领导干部对照检查材料
2014/08/24 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android