当前位置:首页 > 前端开发 > JS设置CSS样式的几种方式

JS设置CSS样式的几种方式

6个月前 (05-24)52

用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样式文件

JS设置CSS样式的几种方式 _ Java侠
        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;}');
JS设置CSS样式的几种方式 _ Java侠

8. 使用addRule、insertRule

JS设置CSS样式的几种方式 _ Java侠
// 在原有样式操作
        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样式,常见的有以下几种

 

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样式文件

JS设置CSS样式的几种方式 _ Java侠
        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;}');
JS设置CSS样式的几种方式 _ Java侠

8. 使用addRule、insertRule

JS设置CSS样式的几种方式 _ Java侠
        // 在原有样式操作
        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); 

作者:LiuWeiLong
来源链接:https://www.cnblogs.com/LiuWeiLong/p/6058059.html

标签: css

“JS设置CSS样式的几种方式” 的相关文章

离谱的 CSS!从表盘刻度到艺术剪纸

离谱的 CSS!从表盘刻度到艺术剪纸

某日,群里有这样一个问题,如何实现这样的表盘刻度: 这其实是个挺有意思的问题,方法也有很多。 单标签,使用 conic-gradient 实现表盘刻度 最简单便...

css编写规范

一、注释规范  1、文件顶部注释(推荐使用)  Css代码  /*&n...

css中如何设置hr的样式?css
标签多种样式(图文)

在对html网页进行美化的时候,肯定少不了要用的hr标签进行修饰页面,但默认的hr标签样式对页面的修饰起不到什么好的作用,有经验的前端工作者就会通过使用css样式来对hr标签...

Qt各种颜色名称及CSS对照表

css颜色代码对照 参见: https://blog.csdn.net/zy_heu/article/details/78952173...

html文本边框颜色代码,CSS 文本字体颜色(CSS color)

一、认识CSS 颜色(CSS color)   -   TOP 这里要介绍的是网页设置颜色包含有哪些;网页颜色规定规范。 1、常...

用CSS改变选择文本的背景颜色(神飞)

1.用CSS改变选择文本的背景颜色  ::selection{background: #A8141B; color: white; /* Safari */}   ::-moz...

CSS tab选项卡(标签页)切换

CSS tab选项卡(标签页)切换

在github上看到一篇 You dot need JavaScript 很多效果不需要js也能做到,比如手风琴的效果,轮播,弹出的对话框,工具提示...

css边框颜色渐变

css边框颜色渐变

先上效果图 <!DOCMENT HTML> <html> <head> <style...

CSS选择器

CSS选择器

CSS是对网页设计师可用的最强大的工具之一。使用它我们可以在几分钟内改变一个网站的界面,而不用改变页面的标签。但是尽管事实上,我们每个人也都意识到了它是有用的,CSS 选择器远未发挥它们...

CSS - 容器背景 10 种颜色渐变Demo(linear-gradient())

CSS - 容器背景 10 种颜色渐变Demo(linear-gradient())

语法 background: linear-gradient(direction,color-stop1,color-stop2,...);...