0

0

css3伪类和伪元素是什么意思

青灯夜游

青灯夜游

发布时间:2022-01-13 13:01:13

|

4215人浏览过

|

来源于php中文网

原创

在css3中,伪类是一种用于已有元素处于某种状态时为其添加对应样式的选择器,且这个状态是根据用户行为而动态变化的;而伪元素的意思为"假元素"或者"伪装元素",是一个用于创建一些不在DOM树中的元素,并为其添加样式的选择器。

css3伪类和伪元素是什么意思

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

伪类是什么

伪类是一种用于已有元素处于某种状态时(滑动、点击等)为其添加对应样式的选择器,且这个状态是根据用户行为而动态变化的。

例如:当用户悬停在指定元素时,可以通过:hover来描述这个元素的状态,虽然它和一般css相似,可以为已有元素添加样式,但是它只有处于DOM树无法描述的状态下才能为元素添加样式,所以称为伪类。

立即学习前端免费学习笔记(深入)”;

伪元素是什么

伪元素直义理解就是"假元素"或者"伪装元素"。其实也可以这么理解, 伪元素实际上就是虚拟的元素,不存在的元素(code形式), 你也无发在文档中找到他们,因此说伪元素是虚拟元素。

伪元素是一个用于创建一些不在DOM树中的元素,并为其添加样式的选择器。

通过伪元素您不需要借助元素的 ID 或 class 属性就可以对被选择元素的特定部分定义样式。例如通过伪元素您可以设置段落中第一个字母的样式,或者在元素之前、之后插入一些内容等等。

伪类和伪元素的区别:

请看下面例子:

例一:

  • 第一列
  • 第二列

如果我们想要给第一列添加样式,我们可以通过以下两种方式:

(1)给第一列添加一个类,并在该类中定义样式:

  • 第一列
  • 第二列
.first-item{color:orange;}

(2)如果不用添加类的方法,我们可以通过给第一个

  • 设置:first-child伪类来为其添加样式,这时,被修饰的li依然存在于DOM树中
    • 第一个
    • 第二个
    li:first-child{color:orage;}

    例二:

    Hello World, and wish you have a good day!

    想要给该段落第一个字母添加样式,可以有以下方法:

    (1)給第一个字母包裹元素,并给span设置样式:

    Hello World, and wish you have a good day!

    .first{color:red;}

    (2)如果不创建元素,我们可以通过给

    元素设置P:first-letter伪元素为其添加样式,这时看起来像创建了一个虚拟的span元素并为其添加样式,但实际上在DOM数中并不存在这个span元素

    Hello World, and wish you have a good day!

    p:first-letter{color:red;}

    从上述例子中我们可以看出:伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档树外的元素。因此,伪类与伪元素的区别在于:有没有创建一个文档树之外的元素。

    伪元素使用单冒号还是双冒号?

    css3规范中要求使用双冒号(::)表示伪元素,以此来区分伪类和伪元素,比如::before和::after等伪元素使用双冒号(::),:hover:active伪类使用单冒号(:)。除了一些低于IE8版本的浏览器外,大部分浏览器都支持伪元素的双冒号(::)表示方法。

    然而除了少部分伪元素如::backdrop必须使用双冒号(::),大部分伪元素都支持单冒号和双冒号的写法,比如::after,写成:after一样可以正常运行。

    w3c标准中说到,虽然CSS3标准要求伪元素使用双冒号的写法,但也依然支持单冒号的写法。为了向后兼容,我们建议你在目前还是使用单冒号的写法。

    常用伪类有:

    • :active 选择正在被激活的元素(匹配指定状态)

    • :hover 选择被鼠标悬浮着的元素(匹配指定状态)

    • :link 选择未被访问的元素 (匹配指定状态)

    • :visited 选择已被访问的元素(匹配指定状态)

    • :first-child 选择满足是其父元素的第一个子元素的元素

    • :lang(value) 选择带有指定 lang 属性的元素

      幻导航网
      幻导航网

      发现优质实用网站,开启网络探索之旅!

      下载
    • :focus 选择拥有键盘输入焦点的元素

    • :enable 选择每个已启动的元素

    • :disable 选择每个已禁止的元素

    • :checked 选择每个被选中的元素

    • :target 选择当前的锚点元素

    • :first-of-type 选择满足是其父元素的第一个某类型子元素的元素

    • :last-of-type 选择满足是其父元素的最后一个某类型子元素的元素

    • :only-of-type 选择满足是其父元素的唯一一个某类型子元素的元素

    • :nth-of-type(n) 选择满足是其父元素的第n个某类型子元素的元素

    • :nth-last-of-type(n) 选择满足是其父元素的倒数第n个某类型的元素

    • :only-child 选择满足是其父元素的唯一一个子元素的元素

    • :last-child 选择满足是其父元素的最后一个元素的元素

    • :nth-child(n) 选择满足是其父元素的第n个子元素的元素

    • :nth-last-child(n) 选择满足是其父元素的倒数第n个子元素的元素

    • :empty 选择满足没有子元素的元素

    • :in-range 选择满足值在指定范围内的元素

    • :out-of-range 选择值不在指定范围内的元素

    • :invalid 选择满足值为无效值的元素

    • :valid 选择满足值为有效值的元素

    • :not(selector) 选择不满足selector的元素

    • :optional 选择为可选项的表单元素,即没有“required”属性

    • :read-only 选择有"readonly"的表单元素

    • :read-write 选择没有"readonly"的表单元素

    • :root 选择根元素

    常用伪元素

    • ::first-letter 选择指定元素的第一个单词

    • ::first-line 选择指定元素的第一行

    • ::after 在指定元素的内容前面插入内容

    • ::before 在指定元素的内容后面插入内容

    • ::selection 选择指定元素中被用户选中的内容

    (学习视频分享:css视频教程

  • 相关文章

    相关标签:

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    Golang 网络安全与加密实战
    Golang 网络安全与加密实战

    本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

    2

    2026.01.29

    俄罗斯Yandex引擎入口
    俄罗斯Yandex引擎入口

    2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

    481

    2026.01.28

    包子漫画在线官方入口大全
    包子漫画在线官方入口大全

    本合集汇总了包子漫画2026最新官方在线观看入口,涵盖备用域名、正版无广告链接及多端适配地址,助你畅享12700+高清漫画资源。阅读专题下面的文章了解更多详细内容。

    156

    2026.01.28

    ao3中文版官网地址大全
    ao3中文版官网地址大全

    AO3最新中文版官网入口合集,汇总2026年主站及国内优化镜像链接,支持简体中文界面、无广告阅读与多设备同步。阅读专题下面的文章了解更多详细内容。

    296

    2026.01.28

    php怎么写接口教程
    php怎么写接口教程

    本合集涵盖PHP接口开发基础、RESTful API设计、数据交互与安全处理等实用教程,助你快速掌握PHP接口编写技巧。阅读专题下面的文章了解更多详细内容。

    10

    2026.01.28

    php中文乱码如何解决
    php中文乱码如何解决

    本文整理了php中文乱码如何解决及解决方法,阅读节专题下面的文章了解更多详细内容。

    13

    2026.01.28

    Java 消息队列与异步架构实战
    Java 消息队列与异步架构实战

    本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。

    10

    2026.01.28

    Python 自然语言处理(NLP)基础与实战
    Python 自然语言处理(NLP)基础与实战

    本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

    25

    2026.01.27

    拼多多赚钱的5种方法 拼多多赚钱的5种方法
    拼多多赚钱的5种方法 拼多多赚钱的5种方法

    在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

    125

    2026.01.26

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    CSS3 教程
    CSS3 教程

    共18课时 | 5万人学习

    HTML5/CSS3/JavaScript/ES6入门课程
    HTML5/CSS3/JavaScript/ES6入门课程

    共102课时 | 6.8万人学习

    HTML+CSS基础与实战
    HTML+CSS基础与实战

    共132课时 | 9.8万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号