用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 相关文章推荐
判断是否输入完毕再激活提交按钮
Jun 26 Javascript
prototype Element学习笔记(Element篇三)
Oct 26 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
Jan 11 Javascript
如何使用HTML5地理位置定位功能
Apr 27 Javascript
AngularJS入门教程之迭代器过滤详解
Aug 18 Javascript
Bootstrap select多选下拉框实现代码
Dec 23 Javascript
vue2.0 axios前后端数据处理实例代码
Jun 30 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
Dec 13 Javascript
VueJs监听window.resize方法示例
Jan 17 Javascript
Vue shopCart 组件开发详解
Jan 26 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 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实现框架(二)
2006/10/09 PHP
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
python 输出一个两行字符的变量
2009/02/05 Python
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python读取键盘输入的2种方法
2015/06/16 Python
python清除字符串里非数字字符的方法
2015/07/02 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
python爬取指定微信公众号文章
2018/12/20 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
python 默认参数相关知识详解
2019/09/18 Python
学习Python列表的基础知识汇总
2020/03/10 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
支行行长竞聘演讲稿
2014/05/15 职场文书
信用社竞聘演讲稿
2014/05/16 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
绿色出行口号
2014/06/18 职场文书
2014年信用社工作总结
2014/11/25 职场文书
北京导游词
2015/02/12 职场文书
导游词范文
2015/02/13 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫
mysql insert 存在即不插入语法说明
2022/03/25 MySQL