news 2026/5/4 12:46:19

CSS选择器分类总结(AI版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CSS选择器分类总结(AI版)

本文系统总结了CSS选择器的分类和使用方法。


表格形式呈现了基础选择器(元素、类、ID、通用)、组合选择器(后代、子、兄弟等)、伪类选择器(状态/位置)、伪元素选择器以及属性选择器的具体用法和优先级。


重点说明了CSS选择器的优先级计算规则(从!important到通用选择器),并提供了计算示例。


最后给出实用建议:避免过度使用ID选择器、合理使用类选择器、慎用!important、利用CSS层叠特性等,帮助开发者有效选择合适的选择器并提高代码可维护性。


CSS选择器分类总结

下面通过表格分类总结CSS选择器,帮助您系统地理解和掌握各种选择器的用法:


基础选择器

选择器示例描述优先级
元素选择器p { color: red; }选择所有指定HTML元素1
类选择器.intro { color: red; }选择所有class="intro"的元素10
ID选择器#header { color: red; }选择id="header"的元素100
通用选择器* { margin: 0; }选择所有元素0
属性选择器[target] { color: red; }选择带有target属性的所有元素10

组合选择器

选择器示例描述
后代选择器div p { color: red; }选择div元素内的所有p元素
子选择器div > p { color: red; }选择div元素的所有直接子元素p
相邻兄弟选择器h1 + p { color: red; }选择紧接在h1元素后的p元素
通用兄弟选择器h1 ~ p { color: red; }选择h1元素之后的所有同级p元素
分组选择器h1, h2, p { color: red; }选择多个元素,应用相同样式

伪类选择器(状态/位置)

选择器示例描述
链接状态a:link { color: blue; }选择所有未访问的链接
访问状态a:visited { color: purple; }选择所有已访问的链接
悬停状态a:hover { color: red; }选择鼠标悬停的元素
激活状态a:active { color: green; }选择被点击时的元素
焦点状态input:focus { border: 2px solid blue; }选择获得焦点的元素
第一个子元素p:first-child { color: blue; }选择作为其父元素第一个子元素的p元素
最后一个子元素p:last-child { color: blue; }选择作为其父元素最后一个子元素的p元素
第n个子元素p:nth-child(2) { color: blue; }选择作为其父元素第2个子元素的p元素
第n个同类元素p:nth-of-type(2) { color: blue; }选择其父元素下第2个p元素
仅有一个子元素p:only-child { color: blue; }选择作为其父元素唯一子元素的p元素
空元素p:empty { display: none; }选择没有子元素的p元素
否定伪类p:not(.intro) { color: blue; }选择class不是intro的p元素

伪元素选择器

选择器示例描述
首字母p::first-letter { font-size: 2em; }选择p元素的第一个字母
首行p::first-line { color: red; }选择p元素的第一行
之前内容p::before { content: "★ "; }在p元素前插入内容
之后内容p::after { content: " ★"; }在p元素后插入内容
选中部分::selection { background: yellow; }选择用户选中的内容

属性选择器(详细)

选择器示例描述
存在属性[target]选择带有target属性的元素
精确匹配[target="_blank"]选择target="_blank"的元素
包含单词[title~="flower"]选择title属性包含单词"flower"的元素
开头匹配[lang|="en"]选择lang属性值以"en"开头的元素
开头字符[href^="https"]选择href属性值以"https"开头的元素
结尾字符[src$=".pdf"]选择src属性值以".pdf"结尾的元素
包含字符[href*="example"]选择href属性值包含"example"的元素

CSS选择器优先级规则

优先级计算规则(从高到低):

  1. !important声明- 最高优先级

  2. 内联样式- style属性 (权重1000)

  3. ID选择器- #id (权重100)

  4. 类/属性/伪类选择器- .class, [type], :hover (权重10)

  5. 元素/伪元素选择器- p, div, ::before (权重1)

  6. 通用选择器/组合器- *, >, +, ~ (权重0)


优先级计算示例:

#nav .item a:hover { color: red; } /* 权重:100+10+1+10=121 */ .header a.active { color: blue; } /* 权重:10+1+10=21 */ div p { color: green; } /* 权重:1+1=2 */

实际应用建议

  1. 避免过度使用ID选择器- 优先级过高,不利于样式覆盖

  2. 合理使用类选择器- 复用性高,优先级适中

  3. 慎用!important- 除非必要,否则避免使用

  4. 利用CSS层叠- 合理组织选择器,减少特异性冲突

  5. 使用BEM等命名方法- 提高CSS可维护性


这个总结表涵盖了CSS选择器的主要类型和用法,可以帮助您在实际开发中快速查找和选择合适的CSS选择器。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:39:46

ResNet18一键部署:适合小白的AI体验方案

ResNet18一键部署:适合小白的AI体验方案 引言:为什么选择ResNet18作为AI入门第一课? 作为一名退休工程师,您可能对AI技术充满好奇,但又被复杂的开发环境、晦涩的数学公式和庞大的模型参数吓退。ResNet18正是为解决这…

作者头像 李华
网站建设 2026/5/3 18:54:46

从清洁工具到家庭伙伴:海外网红营销下的扫地机器人出海路径

在扫地机器人出海的早期阶段,品牌往往围绕“吸力强、路径规划准、性价比高”等功能卖点展开传播,但随着海外智能家居市场逐渐成熟,这种以参数为核心的“工具型叙事”正在遭遇边际递减:消费者不再只关心产品“能不能扫干净”&#…

作者头像 李华
网站建设 2026/5/1 11:11:20

深度估计入门必看|用AI单目深度估计-MiDaS镜像生成热力图

深度估计入门必看|用AI单目深度估计-MiDaS镜像生成热力图 🧠 什么是单目深度估计?从2D图像感知3D空间 在计算机视觉领域,单目深度估计(Monocular Depth Estimation, MDE) 是一项极具挑战性但又极具实用价值…

作者头像 李华
网站建设 2026/5/1 6:22:56

ResNet18最佳实践:云端预置环境,避开90%配置坑

ResNet18最佳实践:云端预置环境,避开90%配置坑 引言:为什么你的ResNet18总是部署失败? 作为一名开发者,你可能已经尝试过多次在本地部署ResNet18模型,但总是遇到各种问题:CUDA版本不匹配、PyT…

作者头像 李华
网站建设 2026/5/3 6:05:15

ResNet18图像分类全流程:云端GPU免配置,10元预算

ResNet18图像分类全流程:云端GPU免配置,10元预算 引言:毕业设计的AI救星 作为一名即将毕业的大学生,当导师要求你用ResNet18完成图像分类任务并提交完整流程报告时,却发现实验室GPU资源需要排队等待,这种…

作者头像 李华
网站建设 2026/5/1 6:42:15

ResNet18迁移学习指南:预训练模型+你的数据,1小时出效果

ResNet18迁移学习指南:预训练模型你的数据,1小时出效果 1. 为什么电商运营需要ResNet18迁移学习 作为电商运营人员,你可能经常遇到这样的困扰:每天要处理成千上万的商品图片,手动分类耗时耗力。传统方法要么准确率低…

作者头像 李华