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

  • 相关阅读:
    vim 编辑器使用
    PHP高并发高负载系统架构(转载)
    类的使用
    linux下EC20 4G模块驱动移植
    linux 4G模块拨号脚本
    linux4.1.4上移植ME909s-821,MU609 4G模块驱动
    shell脚本语之运算符
    vim的列编辑操作
    linux下普通用户添加 sudo 免密码
    4G模块在AM335x上的移植
  • 原文地址:https://www.cnblogs.com/TM0831/p/12356351.html
Copyright © 2011-2022 走看看