如何改变css伪元素的样式

angryTom
angryTom转载
2020-02-24 18:14:003163浏览

本篇文章介绍了如何改变css伪元素样式的方法,希望对学习前端css的朋友有帮助!

一、CSS伪元素

CSS 伪元素用于向某些选择器设置特殊效果。

伪元素的用法如下:

selector:pseudo-element {property:value;}

CSS 类也可以和伪元素搭配使用

selector.class:pseudo-element {property:value;}

二、修改伪元素样式

( 推荐学习:CSS教程 )

1.问题描述

伪元素例子:

.content {
    width: 100px;
    height: 100px;
    margin: 0 auto;
    background: black;
}
.content::before {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background: blue;
}

如果我们想对修改伪元素的样式,又该怎么做呢?因为伪元素在DOM树中创建了一些抽象元素,但这些抽象元素是不存在于文档语言里的,即不存在于 HTML 源码里,所以并不能通过选择器来选择这些伪元素。既然不能选择伪元素,那要怎么才能修改伪元素的样式?

2.方案一

通过增加 style 标签以重新定义伪元素,实现对伪元素样式的覆盖,方法为:

$(".content").append("<style>.content::before{display:none}</style>");

但这种方案有个问题,因为对原来的样式进行了覆盖,所以会对所有该类的标签产生影响。

3.方案二

更优的方案是通过增加新的 CSS 类来对伪元素的某些样式进行修改,方法如下:

1)定义新的 CSS 类。

例如增加新的 CSS 类:

.change::before {
    background: red;
}

2)添加新类以修改伪元素样式。

在 JQuery 中使用 id 选择器和 css 选择器,再使用 addClass() 进行添加修改,示例如下:

$("#content1").addClass("change");

以上就是如何改变css伪元素的样式的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除