zoukankan      html  css  js  c++  java
  • 学习CSS之如何改变CSS伪元素的样式

    一、CSS伪元素

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

      伪元素的用法如下:

    selector:pseudo-element {property:value;}

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

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

    二、修改伪元素样式

    1.问题描述

      伪元素例子:

    .content {
         100px;
        height: 100px;
        margin: 0 auto;
        background: black;
    }
    
    .content::before {
        content: "";
         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");

  • 相关阅读:
    【模拟7.22】方程的解(拓展欧几里德)
    Dijkstra堆优化模板
    7.19考后总结
    《机器学习实战》读书笔记
    从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
    《c程序设计语言》-3.2 字符串转换
    《c程序设计语言》-3.1 判断语句多少影响时间
    《c程序设计语言》-2.10 不用if-else 转换大小写
    《c程序设计语言》-2.9
    《c程序设计语言》-2.6~2.8
  • 原文地址:https://www.cnblogs.com/TM0831/p/12356351.html
Copyright © 2011-2022 走看看