css3新增的伪类有哪些

CSS3 引入了许多新的伪类选择器,这些选择器为开发者提供了更多的样式控制选项。以下是一些 CSS3 中新增的主要伪类选择器:

  1. 结构性伪类
    • :root:选择文档的根元素(通常是 <html>)。
    • :empty:选择没有子节点的元素(包括文本节点)。
    • :first-of-type:选择其父元素中的第一个 <element-name> 类型的元素。
    • :last-of-type:选择其父元素中的最后一个 <element-name> 类型的元素。
    • :only-of-type:选择其父元素中唯一的 <element-name> 类型的元素。
    • :nth-of-type(n):选择其父元素中的第 n<element-name> 类型的元素。
    • :nth-last-of-type(n):选择其父元素中的倒数第 n<element-name> 类型的元素。
  2. UI伪类
    • :enabled:选择可用的表单元素。
    • :disabled:选择被禁用的表单元素。
    • :checked:选择被选中的 <input> 元素(例如,单选框或复选框)。
    • :default:选择默认被选中的 <input><button> 元素。
    • :valid:选择输入值有效的表单元素。
    • :invalid:选择输入值无效的表单元素。
    • :in-range:选择输入值在指定范围内的 <input> 元素。
    • :out-of-range:选择输入值不在指定范围内的 <input> 元素。
    • :required:选择设置了 required 属性的表单元素。
    • :optional:选择没有设置 required 属性的表单元素。
    • :readonly:选择设置了 readonly 属性的表单元素。
    • :writeable:选择没有设置 readonly 属性的表单元素。
  3. 其他伪类
    • :backdrop:用于全屏的背景界面(通常与全屏API一起使用)。
    • :fullscreen:选择全屏显示的元素。
    • :placeholder-shown:选择当前显示占位符文本的 <input><textarea> 元素。
    • :dir():基于元素的文本方向(例如 :dir(ltr):dir(rtl))来选择元素。
    • :lang():基于元素的语言属性来选择元素。
    • :not():选择不匹配特定选择器的元素。
    • :any-link:选择所有链接(<a><area><link> 元素)。
    • :current(伪元素):用于选择当前元素(如 ::current:range 输入类型中)。注意这不是一个标准的 CSS 伪类,但在某些上下文中可能会遇到。

请注意,某些伪类(如 :fullscreen:backdrop)可能并不是所有浏览器都支持,或者可能需要特定的API(如全屏API)才能触发。同时,:any-link:current 并不是真正的 CSS3 伪类,但它们在这里被提及是为了完整性。

相关推荐
ttod_qzstudio15 分钟前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
DevUI团队38 分钟前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
萧瑟余晖1 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
weixin_431600442 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
kyriewen2 小时前
我用Claude Code两天干完了团队两周的排期——周报发出去那一刻我就后悔了
前端·javascript·ai编程
IT_陈寒2 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
用户938515635073 小时前
Type vs Interface:读完这篇就没有面试官能难倒你了
前端·面试·typescript
油丶酸萝卜别吃3 小时前
jquery-ajax.js 说明文档
前端·javascript·jquery
windliang4 小时前
Claude Code 源码分析(九):子 Agent 如何分叉、继续与回到父会话
前端·javascript·面试
离陌在学C#4 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#