CSS 伪元素和伪类的用法和区别

伪元素

伪元素则基于元素的位置来添加内容或样式

在内容元素的前后插入额外的元素或样式,但是这些元素实际上并不在文档中生成。它们只在外部显示可见,但不会在文档的源代码中找到它们,因此,称为“伪”元素。

伪元素通常用双冒号::来表示 (在实际使用中,一些旧的伪元素如:before:after仍然被广泛接受)

常见的伪元素:

  1. ::before::after:用于在选定元素的内容之前和之后插入内容
    通常与content属性一起使用,可以插入文本、图像或其他内容。
    它们不占用DOM节点,使得CSS能够解决一部分JavaScript的问题,同时避免增加无意义的页面元素。

  2. ::first-line:用于选择元素的第一行文本
    允许开发者为元素的首行文本应用特殊的样式。

  3. ::first-letter:用于为块级元素的第一个字母设置样式
    常用于设计特殊的首字下沉或装饰性效果。

  4. ::selection:定义用户选择(或高亮)文本时的样式
    可以自定义选中文本的背景色、字体颜色等外观。

  5. ::placeholder:用于选择输入框的占位符文本
    允许开发者为占位符文本设置样式。

伪元素通常与其他选择器一起使用,以指定要应用样式的具体元素。

这些伪元素提供了在不增加实际DOM元素的情况下,为页面元素添加样式和内容的能力,使得CSS的设计更加灵活和富有创意。


伪类

伪类基于元素的状态来添加特殊效果

将特殊的效果添加到特定选择器上。它是已有元素上添加类别的,不会产生新的元素。

伪类通常用单冒号:来表示

常见的伪类:

  1. :hover:这个伪类用于鼠标悬停在元素上时改变元素的样式
    通常用于定义元素的悬停效果,如改变颜色、背景或显示额外的信息。

  2. :active:当元素被用户激活时(如鼠标点击但还未释放时),该伪类用于改变元素的样式
    它通常用于表示元素被点击的状态。

  3. :focus:用于元素获得焦点时的样式
    例如,在输入框中键入文本时,输入框会获得焦点,此时可以使用:focus来改变输入框的边框颜色或样式。

  4. :visited:用于已访问的链接
    可以改变其颜色或样式,以区分已访问和未访问的链接。

  5. :first-child:用于选择其父元素的第一个子元素,并为其应用特定的样式。

  6. :last-child:用于选择其父元素的最后一个子元素(与:first-child相反)

  7. :not():用于排除某些元素,只选择不符合特定条件的元素。

  8. :checked:用于表单元素,特别是单选框和复选框,当元素被选中时,会应用特定的样式。

  9. :nth-child(n):nth-of-type(n):用于选择父元素的第n个子元素或特定类型的第n个子元素
    例如,:nth-child(odd)和:nth-child(even)可以用于选择奇数和偶数行,实现表格的斑马线效果。

  10. :empty:这个伪类用于选择没有子元素的元素。

这些伪类通常与CSS类选择器和ID选择器一起使用,以实现更多的样式控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/554371.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

艾迪比皮具携手工博科技SAP ERP公有云,打造数字化转型新标杆

4月1日,广州市艾迪比皮具有限公司(以下简称“艾迪比”)SAP S/4HANA Cloud Public Edition(以下简称“SAP ERP公有云”)项目正式启动。双方项目组领导、成员出席本次项目启动会,为未来项目的顺利实施打下坚实…

Python程序设计 元组和集合

教学案例七 元组和集合 1. 根据年月日计算周几 根据输入的年号、月号、日号,计算是周几(中文、英文) 蔡勒公式 通过蔡勒(Zeller)公式可计算星期几 w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 c&…

【hive】lateral view侧视图

文档地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManualLateralView 1.介绍2.语法3.code demo1)单重侧视图2)多重侧视图3)tips:lateral view outer 1.介绍 lateral view也叫侧视图,属…

【electron3】electron将数据写入本地数据库

安装 yarn add sqlite3 --save连接并调用数据库,创建表 createDB.ts文件内容 const sqlite3 require(sqlite3) const NODE_ENV process.env.NODE_ENV const path require(path) const { app } require(electron) let DB_PATH path.join(app.getAppPath(), /…

LDF、DBC、BIN、HEX、S19、BLF、asc、csv、ARXML、slx等(未完待续)

文章目录 如题如题 LDF是LIN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 DBC是CAN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 BIN文件烧录在BOOT里面(stm32),有人喜欢叫固件,这个固件就是bin文件,bin文件比hex文件体积小 其实BOOT也…

Android apk包使用360加固工具的加固步骤

1,准备好已经签名打包的apk包。 2,在360加固官方网站下载加固exe软件。三六零天御-企业移动应用安全一站式服务平台 3,步骤一,添加加固包,进行加固,并输出加固包: 4,步骤二&#…

预算不足千元SSL证书该怎么选?

随着互联网安全概念日渐深入人心,越来越多的企业或个人为自己的网站加装SSL证书;那对于个人或者小小微企业,预算不足千元的情况下该怎么选择SSL证书呢?可以从以下几个方面进行考量,以确保在有限的预算内获得满足基本安…

Linux编辑器-vim的使用

vim的基本概念 vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插 入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下&#…

苹果开发初学者指南:Xcode 如何为运行的 App 添加环境变量(Environmental Variable)

概览 Xcode 15 在运行 SwiftUI 代码时突然报告如下警告: Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem. 不仅如此…

李沐45_SSD实现——自学笔记

主体思路: 1.生成一堆锚框 2.根据真实标签为每个锚框打标(类别、偏移、mask) 3.模型为每个锚框做一个预测(类别、偏移) 4.计算上述二者的差异损失,以更新模型weights 先读取一张图像。 它的高度和宽度分别为561和728像素。 %matplotlib inline import …

NVM下载、NVM配置、NVM常用命令

NVM(nodejs版本管理切换工具)下载、配置、常用命令 0、NVM常用命令 nvm off // 禁用node.js版本管理(不卸载任何东西) nvm on // 启用node.js版本管理 nvm install <version> // 安装node.js的命名 version是版本号 例…

良友:献上今天(打开心窗说亮话)- 沟通篇

目录 一 二 三 四 五 六 七 八 九 十 十一 十二 十三

【Python小游戏】植物大战僵尸的实现与源码分享

文章目录 Python版植物大战僵尸环境要求方法源码分享初始化页面&#xff08;部分&#xff09;地图搭建&#xff08;部分&#xff09;定义植物类 &#xff08;部分&#xff09;定义僵尸类&#xff08;部分&#xff09;游戏运行入口 游戏源码获取 Python版植物大战僵尸 已有的植…

vscode调试文件(C++,ROS和cmake文件)

VsCode调试文件 参考文档&#xff1a; code.visualstudio.com/docs/editor/variables-reference code.visualstudio.com/docs/editor/tasks 主要修改task.json下的"args"、launch.json中的"program",“args” 注意task.json中的label以及launch.json中…

OpenCV 学习笔记2 C++

1.图像直方图 直方图&#xff08;Histogram&#xff09;是图像处理中常用的工具&#xff0c;它表示图像中每个像素强度值的分布情况。在OpenCV中&#xff0c;可以使用 cv::calcHist 函数来计算图像的直方图。 图像直方图是一种展示图像像素强度分布的统计图表。它显示了图像中…

市场份额第一!博睿数据持续领跑中国APM市场

近日&#xff0c;全球领先的IT市场研究和咨询公司IDC发布《中国IT统一运维软件产品市场跟踪报告&#xff0c;2023H2》。报告显示&#xff0c;2023下半年博睿数据以 17.6%的市场份额蝉联 APM(应用性能监控)市场第一。2023年全年博睿数据以18.8%的市场份额持续领跑中国APM市场。 …

实现联系人前后端界面,实现分页查询04.15

实现联系人前后端界面&#xff0c;实现分页查询项目包-CSDN博客 项目结构 数据库中建立两个表&#xff1a; 完整的后端目录 建立联系人People表&#xff0c;分组Type表&#xff0c;实现对应实体类 根据需求在mapper中写对应的sql语句 查询所有&#xff0c;删除&#xff0c;添…

网工交换基础——Access、Trunk、Hybrid处理VLAN的过程

一、VLAN帧格式&#xff1a; 通过Tag区分不同VLAN。打tag/剥离tag都有交换机接口进行。 1.接收方向&#xff1a;不会进行tag的剥离/弹出&#xff08;永远不会剥离VLAN Tag&#xff09;。 2.交换机内部&#xff1a;处理的都是带Tag的数据帧。 交换机开机&#xff0c;默认生成树…

振弦式土压力计性能评估指南

振弦式土压力计是一种常用的岩土工程监测仪器&#xff0c;主要用于测量土体中各点的土压力变化。在长期的监测过程中&#xff0c;保持土压力计的性能稳定与准确至关重要。因此&#xff0c;定期检查和确定振弦式土压力计的性能是否正常成为了一项必要的工作。本文将详细介绍如何…

PHP-extract变量覆盖

[题目信息]&#xff1a; 题目名称题目难度PHP-extract变量覆盖1 [题目考点]&#xff1a; 变量覆盖指的是用我们自定义的参数值替换程序原有的变量值&#xff0c;一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击。 经常导致变量覆盖漏洞场景有&#xff1a;$$&#x…