Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

CSS 教程

CSS 主页 CSS 简介 CSS 语法 CSS 选择器 CSS 如何操作 CSS 注释 CSS 颜色 CSS 背景 CSS 边框 CSS 外边距 CSS 内边距 CSS 高度/宽度 CSS 盒模型 CSS 轮廓 CSS 文本 CSS 字体 CSS 图标 CSS 链接 CSS 列表 CSS 表格 CSS 显示 CSS 最大宽度 CSS 位置 CSS Z-index CSS 溢出 CSS 浮动 CSS 行内块 CSS 对齐 CSS 组合器 CSS 伪类 CSS 伪元素 CSS 透明度 CSS 导航栏 CSS 下拉菜单 CSS 图片库 CSS 图片精灵 CSS 属性选择器 CSS 表单 CSS 计数器 CSS 网站布局 CSS 单位 CSS 特定性 CSS !important CSS 数学函数

CSS 高级

CSS 圆角 CSS 边框图像 CSS 背景 CSS 颜色 CSS 颜色关键字 CSS 渐变 CSS 阴影 CSS 文本效果 CSS 网页字体 CSS 2D 变换 CSS 3D 变换 CSS 过渡 CSS 动画 CSS 工具提示 CSS 样式图像 CSS 图像反射 CSS object-fit CSS object-position CSS 遮罩 CSS 按钮 CSS 分页 CSS 多列 CSS 用户界面 CSS 变量 CSS @property CSS 盒尺寸 CSS 媒体查询 CSS 媒体查询示例 CSS Flexbox

CSS 响应式

RWD 简介 RWD 视窗 RWD 网格视图 RWD 媒体查询 RWD 图像 RWD 视频 RWD 框架 RWD 模板

CSS 网格

网格简介 网格容器 网格项目

CSS SASS

SASS 教程

CSS 示例

CSS 模板 CSS 示例 CSS 编辑器 CSS 代码片段 CSS 问答 CSS 练习 CSS 网站 CSS 面试准备 CSS 集训营 CSS 证书

CSS 参考

CSS 参考 CSS 选择器 CSS 函数 CSS 参考音频 CSS 网络安全字体 CSS 可动画属性 CSS 单位 CSS PX-EM 转换器 CSS 颜色 CSS 颜色值 CSS 默认值 CSS 浏览器支持

CSS 伪元素


什么是伪元素?

CSS 伪元素用于为元素的特定部分添加样式。

例如,它可以用于

  • 为元素的第一行或第一个字母添加特殊样式
  • 在元素内容之前或之后插入内容

语法

伪元素的语法

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

The ::first-line 伪元素

The ::first-line 伪元素用于为文本的第一行添加特殊样式。

以下示例格式化所有 <p> 元素中的文本第一行

示例 

p::first-line {
  color: #ff0000;
  font-variant: small-caps;
}
试一试 »

注意: ::first-line 伪元素只能应用于块级元素。

以下属性适用于 ::first-line 伪元素

  • 字体属性
  • 颜色属性
  • 背景属性
  • word-spacing
  • letter-spacing
  • text-decoration
  • vertical-align
  • text-transform
  • line-height
  • clear

注意双冒号符号 - ::first-line:first-line

双冒号符号替换了 CSS3 中伪元素的单冒号符号。这是 W3C 为了区分伪类伪元素而做出的尝试。

在 CSS2 和 CSS1 中,单冒号语法用于伪类和伪元素。

为了向后兼容,单冒号语法对于 CSS2 和 CSS1 伪元素是可接受的。



The ::first-letter 伪元素

The ::first-letter 伪元素用于为文本的第一个字母添加特殊样式。

以下示例格式化所有 <p> 元素中的文本第一个字母: 

示例

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}
试一试 »

注意: ::first-letter 伪元素只能应用于块级元素。

以下属性适用于 ::first-letter 伪元素: 

  • 字体属性
  • 颜色属性 
  • 背景属性
  • 外边距属性
  • 内边距属性
  • 边框属性
  • text-decoration
  • vertical-align(仅当 "float" 为 "none" 时)
  • text-transform
  • line-height
  • float
  • clear

伪元素和 HTML 类

伪元素可以与 HTML 类结合使用: 

示例

p.intro::first-letter {
  color: #ff0000;
  font-size: 200%;
}
试一试 »

上面的示例将以红色和更大的尺寸显示带有 class="intro" 的段落中的第一个字母。


多个伪元素

也可以组合多个伪元素。

在以下示例中,段落的第一个字母将以红色显示,并使用 xx-large 字体大小。第一行的其余部分将以蓝色显示,并使用小写字母。段落的其余部分将使用默认的字体大小和颜色

示例

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

p::first-line {
  color: #0000ff;
  font-variant: small-caps;
}
试一试 »

CSS - The ::before 伪元素

The ::before 伪元素可用于在元素内容之前插入一些内容。

以下示例在每个 <h1> 元素的内容之前插入一个图像

示例

h1::before {
  content: url(smiley.gif);
}
试一试 »

CSS - The ::after 伪元素

The ::after 伪元素可用于在元素内容之后插入一些内容。

以下示例在每个 <h1> 元素的内容之后插入一个图像

示例

h1::after {
  content: url(smiley.gif);
}
试一试 »

CSS - The ::marker 伪元素

The ::marker 伪元素选择列表项的标记。

以下示例为列表项的标记添加样式

示例

::marker {
  color: red;
  font-size: 23px;
}
试一试 »

CSS - ::selection 伪元素

The ::selection 伪元素匹配用户选中的元素部分。

以下 CSS 属性可以应用于 ::selectioncolorbackgroundcursoroutline

以下示例使选定文本在黄色背景上为红色。

示例

::selection {
  color: red;
  background: yellow;
}
试一试 »

测试练习

练习

将段落第一行的背景颜色设置为红色。

<style>
 {
  background-color: red;
}
</style>

<body>

<p class="intro">
In my younger and more vulnerable years
my father gave me some advice that I've
been turning over in my mind ever since.
'Whenever you feel like criticizing anyone,' he told me,
'just remember that all the people in this world
haven't had the advantages that you've had.'
</p>

</body>

开始练习


所有 CSS 伪元素

选择器 示例 示例描述
::after p::after 在每个 <p> 元素的内容之后插入内容
::before p::before 在每个 <p> 元素的内容之前插入内容
::first-letter p::first-letter 选择每个 <p> 元素的第一个字母
::first-line p::first-line 选择每个 <p> 元素的第一行
::marker ::marker 选择列表项的标记
::selection p::selection 选择用户选中的元素部分

所有 CSS 伪类

选择器 示例 示例描述
:active a:active 选择活动链接
:checked input:checked 选择每个已选中的 <input> 元素
:disabled input:disabled 选择每个禁用的 <input> 元素
:empty p:empty 选择每个没有子元素的 <p> 元素
:enabled input:enabled 选择每个启用的 <input> 元素
:first-child p:first-child 选择每个作为其父元素第一个子元素的 <p> 元素
:first-of-type p:first-of-type 选择每个作为其父元素第一个 <p> 元素的 <p> 元素
:focus input:focus 选择具有焦点的 <input> 元素
:hover a:hover 选择鼠标悬停时的链接
:in-range input:in-range 选择值在指定范围内的 <input> 元素
:invalid input:invalid 选择所有具有无效值的 <input> 元素
:lang(language) p:lang(it) 选择每个 lang 属性值为以 "it" 开头的 <p> 元素
:last-child p:last-child 选择每个作为其父元素最后一个子元素的 <p> 元素
:last-of-type p:last-of-type 选择每个作为其父元素最后一个 <p> 元素的 <p> 元素
:link a:link 选择所有未访问的链接
:not(selector) :not(p) 选择每个不是 <p> 元素的元素
:nth-child(n) p:nth-child(2) 选择每个作为其父元素第二个子元素的 <p> 元素
:nth-last-child(n) p:nth-last-child(2) 从最后一个子元素开始计数,选择每个作为其父元素第二个子元素的 <p> 元素
:nth-last-of-type(n) p:nth-last-of-type(2) 从最后一个子元素开始计数,选择每个作为其父元素第二个 <p> 元素的 <p> 元素
:nth-of-type(n) p:nth-of-type(2) 选择每个作为其父元素第二个 <p> 元素的 <p> 元素
:only-of-type p:only-of-type 选择每个作为其父元素唯一 <p> 元素的 <p> 元素
:only-child p:only-child 选择每个作为其父元素唯一子元素的 <p> 元素
:optional input:optional 选择没有 "required" 属性的 <input> 元素
:out-of-range input:out-of-range 选择值不在指定范围内的 <input> 元素
:read-only input:read-only 选择指定了 "readonly" 属性的 <input> 元素
:read-write input:read-write 选择没有 "readonly" 属性的 <input> 元素
:required input:required 选择指定了 "required" 属性的 <input> 元素
:root root 选择文档的根元素
:target #news:target 选择当前活动的 #news 元素(单击包含该锚点名称的 URL)
:valid input:valid 选择所有具有有效值的 <input> 元素
:visited a:visited 选择所有已访问的链接

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.