学习CSS之如何改变CSS伪元素的样式

一、CSS伪元素

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

  伪元素的用法如下:

selector:pseudo-element {property:value;}

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

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

 

二、修改伪元素样式

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");

posted @ 2020-02-24 13:00  onionono  阅读(1850)  评论(0编辑  收藏  举报