伪元素::before :: after的用法?

::before 和 ::after 是 CSS 伪元素,用于在元素内容的前面或后面插入内容。这些伪元素不会改变文档的实际内容,但可以用来添加装饰性元素或文本。以下是它们的用法和一些常见示例。

基本用法
::before
::before 伪元素用于在元素的内容之前插入内容。

.element::before {
    content: "Before content";
    color: red;
}

::after
::after 伪元素用于在元素的内容之后插入内容。

.element::after {
    content: "After content";
    color: blue;
}

示例
示例 1:插入文本

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        .example::before {
            content: "Before: ";
            color: red;
        }

        .example::after {
            content: " :After";
            color: blue;
        }
    </style>
</head>
<body>
    <div class="example">Main content</div>
</body>
</html>

在这个示例中,.example 元素的内容将显示为 “Before: Main content
”。

示例 2:插入图标
你还可以使用伪元素插入图标或其他装饰性内容。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        .icon::before {
            content: url('icon.png');
            display: inline-block;
            margin-right: 5px;
        }

        .icon::after {
            content: url('icon.png');
            display: inline-block;
            margin-left: 5px;
        }
    </style>
</head>
<body>
    <div class="icon">Text with icons</div>
</body>
</html>

在这个示例中,.icon 元素的内容将会在文本前后显示图标 icon.png。

示例 3:清除浮动
::after 伪元素常用于清除浮动。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        .clearfix::after {
            content: "";
            display: table;
            clear: both;
        }

        .float-left {
            float: left;
            width: 50%;
        }

        .float-right {
            float: right;
            width: 50%;
        }
    </style>
</head>
<body>
    <div class="clearfix">
        <div class="float-left">Left</div>
        <div class="float-right">Right</div>
    </div>
</body>
</html>

在这个示例中,.clearfix 类使用 ::after 伪元素来清除其子元素的浮动。

注意事项
content 属性:伪元素的 content 属性是必需的。如果没有指定 content 属性,伪元素将不会显示。
层叠顺序:伪元素会被认为是元素内容的一部分,因此它们会覆盖元素的背景,但不会覆盖元素的边框。
兼容性:现代浏览器都支持 ::before 和 ::after 伪元素。
通过使用 ::before 和 ::after,你可以在不改变 HTML 结构的情况下,灵活地添加装饰性内容和其他元素。

相关推荐

  1. 元素::before :: after

    2024-07-18 09:02:02       20 阅读
  2. css中元素 :: before

    2024-07-18 09:02:02       20 阅读
  3. CSS 元素和区别

    2024-07-18 09:02:02       34 阅读
  4. css元素区别

    2024-07-18 09:02:02       53 阅读
  5. 类和元素区别是什么?

    2024-07-18 09:02:02       31 阅读
  6. css3 中类和元素

    2024-07-18 09:02:02       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 09:02:02       51 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 09:02:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 09:02:02       44 阅读
  4. Python语言-面向对象

    2024-07-18 09:02:02       55 阅读

热门阅读

  1. C语言从头学35——struct结构

    2024-07-18 09:02:02       17 阅读
  2. 算法刷题笔记 排列数字(C++实现)

    2024-07-18 09:02:02       16 阅读
  3. Mac更新完系统出现两步报错及解决方法

    2024-07-18 09:02:02       19 阅读
  4. UNIX中sigaction和sigevent有啥区别

    2024-07-18 09:02:02       18 阅读
  5. MySQL第七次作业

    2024-07-18 09:02:02       16 阅读
  6. C语言 二叉树,一个猜动物的小游戏

    2024-07-18 09:02:02       14 阅读
  7. RabbitMQ 和 RocketMQ 的区别

    2024-07-18 09:02:02       18 阅读
  8. conda 使用

    2024-07-18 09:02:02       16 阅读
  9. 为什么MySQL会选择B+树作为索引

    2024-07-18 09:02:02       19 阅读
  10. 计算机视觉篇2 图像分类

    2024-07-18 09:02:02       17 阅读
  11. B树(B-Tree)数据结构

    2024-07-18 09:02:02       19 阅读
  12. 547. 省份数量

    2024-07-18 09:02:02       18 阅读