<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>伪元素</title>
<style>
p::first-letter{
color: red;
}
P.line::first-line{
color: red;
}
h1::before{
content: '[]';
color: red;
}
h2::after{
content: '[]';
color: skyblue;
}
</style>
</head>
<body>
<!--伪元素:伪类使用一个冒号,而伪元素使用两个冒号,css2定义了四个伪元素,分别用于装饰元素的首字母、首行,以及建立和装饰“前置”和“后置”
内容。伪元素和伪类很像,它在文档中插入虚构的元素。
注意:全部伪元素必须出如今选择器的最后。例如P::first-line span是无效的-->
<!-- 1. ::first-letter伪元素用于装饰任何非行内元素的首字母,或者开头的标点符号和首字母(若是文本以标点符号开头) -->
<!-- 例以下面的例子,将把每一段的首字母设为红色 -->
<p>hello</p>
<p>world</p>
<!-- 这个规则实际上至关于让浏览器装饰每个p元素中包围首字母的一个虚构元素。例如: -->
<p><p-first-letter>h</p-first-letter>llo</p>
<p><p-first-letter>w</p-first-letter>orld</p>
<!--::first-letter样式只应用到上面那个虚构的元素里面的内容。<p-first-letter>元素不会出如今源码中,也不会出如今DOM树中
而是让浏览器动态构建,目的是把::first-letter的样式应用到相应的文本上。也即,<p-first-letter>是一个伪元素。 -->
<!-- 2. ::first-line用于装饰元素的首行文本 -->
<!-- 能够看到下面id为line的p元素中换行符前面的那一行文本变成了红色-->
<p class="line">
关于华为鸿蒙系统,另据国外媒体Huawei Central报道,有知情人士透露,华为的自<br>
研操做系统鸿蒙OS已经在小规模的测试之中,知情人士表示,这款华为新机颇有可能
</p>
<!-- 对::first-letter和::first-line的限制 目前这两个伪元素只能应用到块级元素上,例如标题或者段落,不能应用到
行内元素上,例如span元素等。-->
<!-- 3.装饰元素的前置或者后置内容能够使用伪元素::before ::after -->
<!-- 例如想要在h1元素前面增长一个括号 h1::before{content: '[]';color: red;}-->
<h1>china</h1>
<!-- 想要把内容放入元素的后面能够使用::after伪元素 h2::after{content:'[]';color: skyblue;-->
<h2>css tricks</h2>
</body>
</html>
复制代码