如何用js控制css伪类after

html-css06

如何用js控制css伪类after,第1张

用js控制css伪类after:只能通过添加样式,然后通过这个样式的伪类来控制吧。。没法直接改。

比如:

html:

<p>瓦赫塔 阿热 有 doing</p>

css:

p:after{

content:''

position:absolute

background-color:green

width:20px

height:6px

}

js:

var css=function(t,s){

s=document.createElement('style')

s.innerText=t

document.body.appendChlild(s)

}

document.onclick=function(){

css('p:after{background-color:red}')

}

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基础教程 》

元素.style.属性="值"

例如:

<script>

var obj=document.getElementById("item2")

obj.style.color="#ff0000"

</script>