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 伪类,但它们在这里被提及是为了完整性。

相关推荐
咩咩啃树皮1 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny1 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
触底反弹1 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
阳光是sunny1 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
鱟鲥鳚2 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
小林ixn2 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
REDcker3 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
এ慕ོ冬℘゜3 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
武子康3 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
大模型码小白3 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程