聊聊JS控制css样式的几种方法

html-css05

聊聊JS控制css样式的几种方法,第1张

JS控制css样式的几种方式

我们在js的工作学习中总会遇到一些不轻易通过style属性动态加载css样式的情况(eg:伪类的样式控制,动画的样式控制),这里总结一下js改变样式的几种方法:

1,通过style属性或者setAttribute()来更改样式

2,如果只是改变伪类(after,before)的content内容也可以这么做

3,通过更改类名来更改样式

4,那么重点来了:利用document.styleSheets我们获取到所有样式表,然后选择一个样式表通过 insertRule 来添加样式;也可以创建新的cssRules,通过addRule()来添加样式

5,动态加载样式表

如果需要更改的样式比较多,还是建议通过动态加载样式的方式来改变页面样式

本文来自PHP中文网,原文地址: https://www.php.cn/website-design-ask-479590.html  推荐视频教程:《 js基础教程 》

JavaScript动态建立或增加CSS样式表,参考如下:

1、简单的方法:

document.createStyleSheet().cssText = '标签{color:red' +  

    // 这个注释只在当前JS中帮助理解,并不会写入CSS中  

    'width:300pxheight:150px}' +  

    '.类名{……}' +  

    '#ID们{……}'

2、比较完美的方法,防止重复添加,通过添加样式表ID并对其判断来实现:

if (!document.styleSheets['要建立的样式表ID如theforever']) { //先检查要建立的样式表ID是否存在,防止重复添加  

 var ss = document.createStyleSheet()  

 ss.owningElement.id = '要建立的样式表ID如theforever'  

 ss.cssText = '标签{display:inline-blockoverflow:hidden' +  

  // 这个注释只在当前JS中帮助理解,并不会写入CSS中  

  'text-align:leftwidth:300pxheight:150px}' +  

  '.类名{……}' +  

  '#ID们{……}'  

   

}