菜单
×
   ❮     
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 Display CSS Max-width CSS Position CSS Z-index CSS Overflow CSS Float CSS Inline-block CSS Align 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 MQ 示例 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 伪类


什么是伪类?

伪类用于定义元素的特殊状态。

例如,它可以用于

  • 当用户将鼠标悬停在元素上时进行样式设置
  • 为已访问和未访问的链接设置不同的样式
  • 当元素获得焦点时进行样式设置

将鼠标悬停在我上面


语法

伪类的语法

选择器:伪类 {
  属性: 值;
}

锚点伪类

链接可以显示不同的方式

示例

/* 未访问的链接 */
a:link {
  color: #FF0000;
}

/* 已访问的链接 */
a:visited {
  color: #00FF00;
}

/* 鼠标悬停在链接上 */
a:hover {
  color: #FF00FF;
}

/* 选中的链接 */
a:active {
  color: #0000FF;
}
自己动手试一试 »

注意: 在 CSS 定义中,a:hover 必须在 a:linka:visited 之后,才能生效!在 CSS 定义中,a:active 必须在 a:hover 之后,才能生效!伪类名称不区分大小写。



伪类与 HTML 类

伪类可以与 HTML 类结合使用

当您将鼠标悬停在示例中的链接上时,它将改变颜色

示例

a.highlight:hover {
  color: #ff0000;
}
自己动手试一试 »

悬停在 <div> 上

在 <div> 元素上使用 :hover 伪类的一个示例

示例

div:hover {
  background-color: blue;
}
自己动手试一试 »

简单的工具提示悬停

将鼠标悬停在 <div> 元素上可显示一个 <p> 元素(类似于工具提示)

将鼠标悬停在我上面可显示 <p> 元素。

Tada! 我在这里!

示例

p {
  display: none;
  background-color: yellow;
  padding: 20px;
}

div:hover p {
  display: block;
}
自己动手试一试 »

CSS - :first-child 伪类

:first-child 伪类匹配指定元素的第一个子元素。

匹配第一个 <p> 元素

在下面的示例中,选择器匹配任何作为某个元素第一个子元素的 <p> 元素

示例

p:first-child {
  color: blue;
}
自己动手试一试 »

匹配所有 <p> 元素中的第一个 <i> 元素

在下面的示例中,选择器匹配所有 <p> 元素中的第一个 <i> 元素

示例

p i:first-child {
  color: blue;
}
自己动手试一试 »

匹配所有第一个子元素 <p> 元素中的所有 <i> 元素

在下面的示例中,选择器匹配作为另一个元素第一个子元素的 <p> 元素中的所有 <i> 元素

示例

p:first-child i {
  color: blue;
}
自己动手试一试 »

CSS - :lang 伪类

:lang 伪类允许您为不同语言定义特殊规则。

在下面的示例中,:lang 为 lang="no" 的 <q> 元素定义了引号

示例

<html>
<head>
<style>
q:lang(no) {
  quotes: "~" "~";
}
</style>
</head>
<body>

<p>一些文本 <q lang="no">段落中的引用</q> 一些文本。</p>

</body>
</html>
自己动手试一试 »

更多示例

为超链接添加不同的样式
此示例演示了如何为超链接添加其他样式。

:focus 的使用
此示例演示了如何使用 :focus 伪类。


通过练习来测试自己

练习

当您将鼠标悬停在链接上时,将背景颜色设置为红色。

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

<body>

<h1>This is a header.</h1>
<p>This is a paragraph.</p>
<a href="https://w3schools.com">This is a link.</a>

</body>

开始练习


所有 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(语言) 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 选择所有已访问的链接

所有 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 选择用户选定的元素部分

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持