4. 伪类选择器

全屏查看

1 基础概念与语法 #

mindmap
    id1[基础概念与语法]
        id1-1[伪类选择器定义]
            id1-1-1[什么是伪类选择器]
            id1-1-2[伪类选择器的作用]
            id1-1-3[基本语法结构]
        id1-2[伪类选择器分类]
            id1-2-1[状态伪类]
            id1-2-2[结构伪类]
            id1-2-3[用户界面伪类]
            id1-2-4[其他伪类]
伪类选择器定义
什么是伪类选择器
伪类选择器的作用
基本语法结构
伪类选择器分类
状态伪类
结构伪类
用户界面伪类
其他伪类

2 状态伪类选择器 #

链接相关伪类
:link - 未访问链接
:visited - 已访问链接
:hover - 鼠标悬停
:active - 激活状态
:focus - 获得焦点
表单元素状态伪类
:checked - 选中状态
:disabled - 禁用状态
:enabled - 启用状态
:required - 必填字段
:optional - 可选字段
:valid - 有效输入
:invalid - 无效输入
:in-range - 在范围内
:out-of-range - 超出范围
mindmap
    id2[状态伪类选择器]
        id2-1[链接相关伪类]
            id2-1-1[:link - 未访问链接]
            id2-1-2[:visited - 已访问链接]
            id2-1-3[:hover - 鼠标悬停]
            id2-1-4[:active - 激活状态]
            id2-1-5[:focus - 获得焦点]
        id2-2[表单元素状态伪类]
            id2-2-1[:checked - 选中状态]
            id2-2-2[:disabled - 禁用状态]
            id2-2-3[:enabled - 启用状态]
            id2-2-4[:required - 必填字段]
            id2-2-5[:optional - 可选字段]
            id2-2-6[:valid - 有效输入]
            id2-2-7[:invalid - 无效输入]
            id2-2-8[:in-range - 在范围内]
            id2-2-9[:out-of-range - 超出范围]

3 结构伪类选择器 #

mindmap
    id3[结构伪类选择器]
        id3-1[子元素选择]
            id3-1-1[:first-child - 第一个子元素]
            id3-1-2[:last-child - 最后一个子元素]
            id3-1-3[:nth-child   - 第n个子元素]
            id3-1-4[:nth-last-child   - 倒数第n个子元素]
            id3-1-5[:only-child - 唯一子元素]
        id3-2[类型选择]
            id3-2-1[:first-of-type - 同类型第一个]
            id3-2-2[:last-of-type - 同类型最后一个]
            id3-2-3[:nth-of-type   - 同类型第n个]
            id3-2-4[:nth-last-of-type   - 同类型倒数第n个]
            id3-2-5[:only-of-type - 同类型唯一元素]
        id3-3[其他结构伪类]
            id3-3-1[:root - 根元素]
            id3-3-2[:empty - 空元素]
            id3-3-3[:not   - 否定伪类]
子元素选择
:first-child - 第一个子元素
:last-child - 最后一个子元素
:nth-child - 第n个子元素
:nth-last-child - 倒数第n个子元素
:only-child - 唯一子元素
类型选择
:first-of-type - 同类型第一个
:last-of-type - 同类型最后一个
:nth-of-type - 同类型第n个
:nth-last-of-type - 同类型倒数第n个
:only-of-type - 同类型唯一元素
其他结构伪类
:root - 根元素
:empty - 空元素
:not - 否定伪类

4 用户界面伪类选择器 #

表单界面状态
:default - 默认选项
:indeterminate - 不确定状态
:read-only - 只读状态
:read-write - 可读写状态
选择与拖拽
::selection - 文本选中
:target - URL目标元素
mindmap
    id4[用户界面伪类选择器]
        id4-1[表单界面状态]
            id4-1-1[:default - 默认选项]
            id4-1-2[:indeterminate - 不确定状态]
            id4-1-3[:read-only - 只读状态]
            id4-1-4[:read-write - 可读写状态]
        id4-2[选择与拖拽]
            id4-2-1[::selection - 文本选中]
            id4-2-2[:target - URL目标元素]

5 CSS3新增伪类选择器 #

mindmap
    id5[CSS3新增伪类选择器]
        id5-1[逻辑组合伪类]
            id5-1-1[:is   - 匹配列表]
            id5-1-2[:where   - 零特异性匹配]
            id5-1-3[:has   - 父元素选择]
        id5-2[方向与语言伪类]
            id5-2-1[:dir   - 文本方向]
            id5-2-2[:lang   - 语言选择]
        id5-3[范围伪类]
            id5-3-1[:scope - 作用域元素]
逻辑组合伪类
:is - 匹配列表
:where - 零特异性匹配
:has - 父元素选择
方向与语言伪类
:dir - 文本方向
:lang - 语言选择
范围伪类
:scope - 作用域元素

6 伪类选择器组合与优先级 #

组合使用技巧
多个伪类组合
伪类与类选择器组合
伪类与属性选择器组合
特异性计算
伪类特异性规则
优先级比较
特异性覆盖策略
mindmap
    id6[伪类选择器组合与优先级]
        id6-1[组合使用技巧]
            id6-1-1[多个伪类组合]
            id6-1-2[伪类与类选择器组合]
            id6-1-3[伪类与属性选择器组合]
        id6-2[特异性计算]
            id6-2-1[伪类特异性规则]
            id6-2-2[优先级比较]
            id6-2-3[特异性覆盖策略]

7 浏览器兼容性与最佳实践 #

mindmap
    id7[浏览器兼容性与最佳实践]
        id7-1[浏览器支持情况]
            id7-1-1[现代浏览器支持]
            id7-1-2[旧版浏览器兼容]
            id7-1-3[移动端支持]
        id7-2[性能优化]
            id7-2-1[伪类选择器性能影响]
            id7-2-2[优化建议]
            id7-2-3[避免的性能陷阱]
        id7-3[实际应用场景]
            id7-3-1[导航菜单样式]
            id7-3-2[表单验证样式]
            id7-3-3[表格样式优化]
            id7-3-4[响应式设计应用]
浏览器支持情况
现代浏览器支持
旧版浏览器兼容
移动端支持
性能优化
伪类选择器性能影响
优化建议
避免的性能陷阱
实际应用场景
导航菜单样式
表单验证样式
表格样式优化
响应式设计应用

8 高级技巧与进阶应用 #

动态效果实现
悬停动画
焦点管理
状态切换效果
无障碍访问
键盘导航支持
屏幕阅读器兼容
高对比度模式
伪类与JavaScript交互
动态添加伪类
状态检测
事件处理结合
mindmap
    id8[高级技巧与进阶应用]
        id8-1[动态效果实现]
            id8-1-1[悬停动画]
            id8-1-2[焦点管理]
            id8-1-3[状态切换效果]
        id8-2[无障碍访问]
            id8-2-1[键盘导航支持]
            id8-2-2[屏幕阅读器兼容]
            id8-2-3[高对比度模式]
        id8-3[伪类与JavaScript交互]
            id8-3-1[动态添加伪类]
            id8-3-2[状态检测]
            id8-3-3[事件处理结合]