首页 > 其他分享 >一篇文章带你学会css中的伪类和伪元素

一篇文章带你学会css中的伪类和伪元素

时间:2025-01-06 18:01:15浏览次数:8  
标签:一篇 伪类 -- 元素 表单 样式 使用 css

我们在写页面的时候,为了美化页面,肯定会使用css样式进行美化,美化的过程中我们会经常使用伪类和伪元素,接下来来说说这两者的定义,常见的使用,在什么场景使用,二者有有什么区别

一、伪类

(1)定义

“伪类主要用于定义元素的特殊状态。它们不是类,而是表示了元素处于特定状态时的样式变化。”

通俗来说,伪类依附于已存在的元素,使用冒号(:)作为标识,描述元素某特性或状态下的样式

(2)伪类(标红的是常见使用)

:hover - 鼠标悬停状态
:active -鼠标点击(按下不放)时激活
:focus - 获得焦点
:visited-已访问的链接(a标签)
:link - 未访问的链接(a标签)
·first-child- 第一个子元素
:last-child- 最后一个子元素
:nth-child() - 指定索引的子元素
:nth-last-child() - 指定索(反向)的子元素
:only-child - 仅有一个子元素
:empty- 没有子元素
:checked- 勾选状态的表单元素
:disabled- 禁用状态的表单元素
:enabled- 可用状态的表单元素
:required-需要填写的表单元素
:valid- 验证通过的表单元素
:invalid-验证未通过的表单元素
:target - 当前活动的目标
:first-of-type - 相同类型的第一个元素
:last-of-type - 相同类型的最后一个元素
:nth-of-type()- 相同类型的指定索引
:nth-last-of-type() - 相同类型的指定索(反向
:not()- 不匹配给定选择器
:root - 文档根元素
:lang() - 指定语言

(3)使用场景

伪类适用于需要基于元素状态来改变样式的场景

例如,可以使用:hover伪类来改变鼠标悬停在元素上时的样式,使用:active伪类来改变元素被激活(如点击)时的样式,或者使用:first-child伪类来选择属于其父元素的第一个子元素。

二、伪元素

(1)定义

伪元素用于创建一些不在文档树中的元素,并为其添加样式。这些元素实际上并不存在于HTML文档中,而是由CSS创建和管理的。

通俗来说,伪元素则使用双冒号(::)作为标识,一般用户创建虚拟元素并定义其样式。

(2)伪元素(标红的是常见使用)

::before -- 在元素内容前插入一个虚拟元素
::after -- 在元素内容后插入一个虚拟元素
::first-line -- 选择元素的第一行文本
::first-letter -- 选择元素的第一个字母或第一个字符
::selection -- 选择用户选中的文本
::placeholder -- 选择表单元素的占位符文本
::marker -- 选择列表项的标记部分
::backdrop -- 选择对话框背景元素
::cue -- 选择音频和视频元素的字幕和注释

(3)使用场景

伪元素适用于需要在元素内容前后添加额外内容或样式的场景

例如,可以使用::before伪元素在元素内容之前插入文本或图标,使用::after伪元素在元素内容之后插入文本或图标。

三、两者不同之处

(1)作用对象不同

伪类是基于元素的特定状态或上下文条件来选择元素的,它们不会影响DOM内容。

伪元素则是给DOM元素内部添加内容和属性,可以看作是添加一个无法被选中的节点或者属性。

(2)语法表示不同

伪类通常用一个冒号(:)来表示,而伪元素在CSS3及以后的版本中使用双冒号(::)来表示

注意:伪类选择器可以链式拼接,伪元素不支持链式写法

在伪类的后面可以链式写个伪元素,而伪元素不支持再链式写个伪类

 

(3)使用场景不同

伪类主要用于描述元素的特定状态或上下文条件,并基于这些条件来改变样式。

伪元素则用于在元素内容前后插入新的内容或样式,或者为元素的特定部分(如第一个字母、第一行等)添加样式。

标签:一篇,伪类,--,元素,表单,样式,使用,css
From: https://blog.csdn.net/cfjbcg/article/details/144968489

相关文章

  • HTML&CSS:咦?卡片的动态渐变背景是如何用 CSS 和伪元素实现的?
    这段代码通过CSS动画和伪元素创建了一个具有动态渐变背景的卡片布局,背景渐变在水平方向上循环移动,营造出一种动态的视觉效果.演示效果HTML&CSS<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=......
  • 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    一、什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,......
  • 网络安全就业前景怎么样?有哪些岗位?好找工作吗?零基础入门到精通,收藏这一篇就够了
    众所周知,网络安全与我们息息相关,无论是企业还是个人都应该重视网络安全。而且网络安全是一个新兴行业,人才需求量远大于供给,因此在薪资福利上具有很大的优势,但对于初学者而言,很多人依然担心前景问题,那么网络安全就业前景如何?本文为大家介绍一下。从目前市场情况来讲,网络安全......
  • Scss 入门
    Scss是对CSS的扩展,提供了比CSS更简洁的语法和更强大的功能。不过,在部署时,我们要先把Scss编译成CSS,才能让浏览器识别。编译Scss的方法有很多,这里我们使用VSCode的插件LiveSassCompiler进行自动编译。基本准备配置保存目录。在VSCode配置文件中添加如下配置......
  • 一篇文章讲清楚flex布局!
    ‌Flex布局(FlexibleBoxLayout),简称“弹性布局”,是一种灵活且强大的CSS布局方式,旨在提供一种更有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间‌。‌Flex布局的基本概念Flex布局由Flex容器(flexcontainer)和Flex项目(flexitem)组成。采用Flex布局的元素称为Fle......
  • 直播电商运营工具如何选?看这一篇就够了
    近年来,直播电商迅速崛起,成为电商行业的新风口。无论是头部主播还是中小商家,都希望通过直播带货实现销售增长。然而,随着市场竞争的加剧,直播电商的运营难度也在不断增加。商家们面临着选品、数据分析、用户互动、流量获取等多重挑战。如何高效管理直播流程、精准分析数据、优化用户......
  • CSS伸缩盒模型Flex
    <style>.outer{width:1000px;height:600px;background-color:#888;display:flex;//outer为伸缩容器。}.inner{width:200px;height:200px;background-color:skyblue;border:1pxsolidblack;box-sizin......
  • 2025版最新大模型开发流程(非常详细)零基础入门到精通,收藏这一篇就够了
    “打造一款模型是一件非常复杂的事情,设计的问题也非常非常多,因此大家要做好心理准备”这段时间写的文章主要都在讲大模型的应用问题,以及自己在工作中遇到的一些问题;而今天我们就从大模型服务的角度,来思考一下打造一款大模型需要经过哪些步骤,也就是怎么打造一款大模型。......
  • 分享2025黑客最常用的10款黑客工具,收藏这一篇就够了
    前言以下所有这些工具都是捆绑在一起的Linux发行版,如KaliLinux或BackBox,建议安装一个合适的Linux黑客系统,尤其是因为这些黑客工具可以(自动)更新。1、Metasploit(渗透测试软件,免费与付费)漏洞利用工具MetasploitFramework(MSF)是一款开源安全漏洞检测工具,附带数千个已知......
  • 【2024最新】渗透测试工具大全(超详细),收藏这一篇就够了!
     黑客/网安大礼包:......