用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 相关文章推荐
JavaScript 字符串与数组转换函数[不用split与join]
Dec 13 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
jQuery学习笔记之总体架构
Jun 03 Javascript
jQuery使用post方法提交数据实例
Mar 25 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 Javascript
基于Jquery实现表单验证
Jul 20 Javascript
对象题目的一个坑 理解Javascript对象
Dec 22 Javascript
js格式化时间的简单实例
Nov 27 Javascript
javascript删除html标签函数cIsHTML
Jan 09 Javascript
vue.js开发环境搭建教程
May 04 Javascript
解析Vue.js中的组件
Feb 02 Javascript
vue中实现methods一个方法调用另外一个方法
Feb 08 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
图解上海144收音机
2021/03/02 无线电
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
C++是不是类型安全的
2014/02/18 面试题
电大自我鉴定范文
2013/10/01 职场文书
体育教育毕业生自荐信
2013/11/21 职场文书
教师年度考核评语
2014/04/28 职场文书
2014年学校工作总结
2014/11/20 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python