当前位置: 首页 > news >正文

css中的伪类

什么是伪类

伪类(Pseudo-classes)是 CSS 中的一个重要概念,它们用于定义元素的特定状态。伪类可以基于元素的特定属性或状态来选择和样式化文档树中的元素,而不需要使用类或 ID。伪类通常以冒号 : 开头。

用法

:link - 选择未被访问的链接。
:visited - 选择已访问的链接。
:hover - 当鼠标悬停在元素上时,选择元素。
:active - 当元素被激活(如鼠标按下)时,选择元素。
:focus - 当元素获得焦点时,选择元素。
:first-child - 选择其父元素的第一个子元素。
:last-child - 选择其父元素的最后一个子元素。
:nth-child(n) - 选择其父元素的第 n 个子元素。
:nth-of-type(n) - 选择其父元素的第 n 个特定类型的子元素。
:nth-last-child(n) - 选择其父元素的倒数第 n 个子元素。
:only-child - 选择其父元素唯一的子元素。
:only-of-type - 选择其父元素唯一类型的子元素。
:empty - 选择没有子元素的元素(包括文本节点)。
:target - 选择当前活动的锚点目标元素。
:not(selector) - 选择不符合给定选择器的元素。

伪类可以与元素选择器或其他选择器结合使用,以精确地定位和样式化文档中的元素。例如:

/* 选择列表中的第一个列表项 */
li:first-child {color: red;
}/* 选择鼠标悬停时的链接 */
a:hover {text-decoration: underline;
}/* 选择表单元素获得焦点时的样式 */
input:focus {border: 1px solid blue;
}

CSS3 引入了许多新的伪类,例如结构伪类、状态伪类和表单相关伪类,大大增强了选择和样式化文档的能力。

伪状态类
:checked - 选择处于选中状态的radio、checkbox或option元素。
:disabled - 选择处于禁用状态的表单元素。
:enabled - 选择处于启用状态的表单元素。
:indeterminate - 选择处于不确定状态的radio或checkbox元素。
结构性伪类
:nth-child(n) - 选择其父元素的第n个子元素。
:nth-last-child(n) - 选择其父元素的倒数第n个子元素。
:nth-of-type(n) - 选择其父元素的第n个指定类型的子元素。
:nth-last-of-type(n) - 选择其父元素的倒数第n个指定类型的子元素。
:first-of-type - 选择其父元素的第一个指定类型的子元素。
:last-of-type - 选择其父元素的最后一个指定类型的子元素。
:only-child - 选择其父元素唯一的子元素。
:only-of-type - 选择其父元素唯一类型的子元素。
:root - 选择文档的根元素,通常是<html>:empty - 选择没有子元素的元素(包括文本节点)。
否定伪类

:not(selector) - 选择不符合给定选择器的元素。

目标伪类

:target - 选择当前活动的锚点目标元素。

其他伪类

:fullscreen - 选择处于全屏模式的元素。
:selection - 选择用户选中的文本。

伪元素

虽然不是伪类,但值得一提的是CSS3也引入了一些新的伪元素,例如:

::before - 在选定元素之前插入内容。
::after - 在选定元素之后插入内容。
::first-letter - 选择块级元素的第一个字母。
::first-line - 选择块级元素的第一行。
::placeholder - 选择表单元素的占位文本。
这些伪类和伪元素极大地增强了CSS的样式化能力,允许开发人员以更精细和更语义化的方式来设计网页。需要注意的是,随着CSS的发展,新的伪类和伪元素可能会被添加。因此,最好查阅最新的CSS规范以获取最新的信息。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 打卡第58天------图论
  • Stable Diffusion 必备插件推荐,菜鸟轻松成高手!(附插件整合包)
  • 基于爬山法MPPT和PI的直驱式永磁同步风力发电机控制系统simulink建模与仿真
  • string的模拟实现与深浅拷贝
  • 嵌入式全栈开发学习笔记---Linux系统编程(进程间通信)
  • Trying to update a textarea with string from an OpenAI request
  • 使用Python+docx+openpyxl将Word表格转换为Excel表格
  • 如何处理时间序列异常值?理解、检测和替换时间序列中的异常值
  • 掌握Go语言中的Channel:并发编程的核心
  • 集成电路学习:什么是CPU中央处理器
  • 神仙插件 LightFlow!一键复用SD WebUI工作流,AI绘画StableDiffusion抄作业必备神器!
  • 【Python篇】Python 类和对象:详细讲解(上篇)
  • 海外新闻稿发布:企业如何充分利用数字化媒体进行
  • [imx9]DDR test Tool for imx9
  • HarmonyOS鸿蒙开发:在线短视频流畅切换最佳实践
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • Golang-长连接-状态推送
  • HomeBrew常规使用教程
  • laravel 用artisan创建自己的模板
  • STAR法则
  • Vue学习第二天
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 大主子表关联的性能优化方法
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 机器学习中为什么要做归一化normalization
  • 理解在java “”i=i++;”所发生的事情
  • 深入浏览器事件循环的本质
  • 实现菜单下拉伸展折叠效果demo
  • 试着探索高并发下的系统架构面貌
  • 数据科学 第 3 章 11 字符串处理
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 应用生命周期终极 DevOps 工具包
  • 与 ConTeXt MkIV 官方文档的接驳
  • 正则与JS中的正则
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • (02)Unity使用在线AI大模型(调用Python)
  • (1)Hilt的基本概念和使用
  • (160)时序收敛--->(10)时序收敛十
  • (31)对象的克隆
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Python第六天)文件处理
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (一)为什么要选择C++
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (自用)网络编程
  • ***原理与防范
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .NET多线程执行函数