导读:本期聚焦于小伙伴创作的《CSS选择器有哪些?如何用它精确控制元素样式》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《CSS选择器有哪些?如何用它精确控制元素样式》有用,将其分享出去将是对创作者最好的鼓励。

CSS选择器是前端样式开发的基础,通过不同的选择器规则可以精准匹配页面中的目标元素,从而为其应用对应的样式属性。合理选择和使用选择器,不仅能减少样式冲突,还能让CSS代码结构更清晰,便于后续维护。

CSS选择器有哪些?如何用它精确控制元素样式

常见CSS选择器类型

基础选择器

基础选择器是最常用的选择器类型,包含以下几种:

  • 元素选择器:直接使用HTML元素名作为选择器,匹配所有对应元素,比如p会匹配所有<p>标签。
  • 类选择器:以.开头,后面跟类名,匹配所有带有对应class属性的元素,比如.box匹配class为box的元素。
  • ID选择器:以#开头,后面跟ID名,匹配对应id属性的元素,页面中ID通常唯一。
  • 通配符选择器:使用*匹配页面所有元素,一般用于重置默认样式。

下面是基础选择器的使用示例:

/* 元素选择器:所有p标签文字颜色为灰色 */
p {
    color: #666;
}

/* 类选择器:class为highlight的元素背景为黄色 */
.highlight {
    background-color: yellow;
}

/* ID选择器:id为header的元素高度为60px */
#header {
    height: 60px;
}

/* 通配符选择器:重置所有元素的外边距和内边距 */
* {
    margin: 0;
    padding: 0;
}

组合选择器

组合选择器通过多个基础选择器的组合,实现更精准的元素匹配:

  • 后代选择器:用空格分隔两个选择器,匹配前一个选择器元素内部的所有后一个选择器元素,比如div p匹配div内部的所有p元素。
  • 子元素选择器:用>分隔,只匹配前一个元素的直接子元素,比如ul>li只匹配ul的直接子元素li。
  • 相邻兄弟选择器:用+分隔,匹配紧接在前一个元素后面的同层级元素,比如h2+p匹配h2后面紧邻的p元素。
  • 通用兄弟选择器:用~分隔,匹配前一个元素后面的所有同层级元素,比如h2~p匹配h2后面所有的p元素。

组合选择器示例:

/* 后代选择器:div内部所有span文字大小为14px */
div span {
    font-size: 14px;
}

/* 子元素选择器:nav的直接子元素a有下划线 */
nav>a {
    text-decoration: underline;
}

/* 相邻兄弟选择器:h3后面紧邻的p上边距为20px */
h3+p {
    margin-top: 20px;
}

伪类与伪元素选择器

伪类选择器用于匹配元素的特定状态,伪元素选择器用于选择元素的特定部分:

  • 常见伪类::hover匹配鼠标悬停状态,:focus匹配元素获得焦点状态,:nth-child(n)匹配第n个子元素。
  • 常见伪元素:::before在元素内容前插入内容,::after在元素内容后插入内容,::first-line匹配元素的第一行文本。

使用示例:

/* 鼠标悬停时按钮背景变蓝 */
button:hover {
    background-color: blue;
    color: white;
}

/* 列表偶数项背景为浅灰 */
li:nth-child(even) {
    background-color: #f5f5f5;
}

/* 在段落前添加星号 */
p::before {
    content: "*";
    color: red;
    margin-right: 5px;
}

属性选择器

属性选择器通过元素的属性或属性值来匹配元素,常见用法如下:

  • [attr]:匹配带有attr属性的所有元素。
  • [attr=value]:匹配attr属性值等于value的元素。
  • [attr^=value]:匹配attr属性值以value开头的元素。
  • [attr$=value]:匹配attr属性值以value结尾的元素。
  • [attr*=value]:匹配attr属性值包含value的元素。

属性选择器示例:

/* 匹配所有带有disabled属性的input元素 */
input[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 匹配type为text的input元素 */
input[type="text"] {
    border: 1px solid #ccc;
    padding: 5px;
}

/* 匹配href以https开头的a元素 */
a[href^="https"] {
    color: green;
}

选择器优先级规则

当多个选择器匹配同一个元素并设置了相同样式属性时,会根据优先级决定最终生效的样式,优先级从高到低为:

  1. 内联样式:写在元素style属性中的样式,优先级最高。
  2. ID选择器:每个ID选择器计为100分。
  3. 类选择器、伪类选择器、属性选择器:每个计为10分。
  4. 元素选择器、伪元素选择器:每个计为1分。
  5. 通配符选择器、继承的样式:优先级最低。

优先级分数高的样式会覆盖分数低的,分数相同则后面的样式覆盖前面的。可以通过!important强制提升样式优先级,但尽量不要滥用。

优先级计算示例:

/* 优先级:1(元素)+10(类)=11 */
p.content {
    color: red;
}

/* 优先级:100(ID)+1(元素)=101,高于上面的规则 */
#main p {
    color: blue;
}

实际场景选择建议

在实际开发中,可以根据场景选择合适的选择器:

  • 通用样式优先用元素选择器或类选择器,避免用ID选择器,因为ID选择器优先级高,后续难以覆盖。
  • 需要匹配元素状态时用伪类选择器,比如交互状态、子元素位置等。
  • 匹配特定属性特征的元素时用属性选择器,比如表单元素、链接等。
  • 尽量减少选择器的层级,层级越深优先级计算越复杂,也不利于维护。

合理运用CSS选择器,就能精准控制元素样式,减少不必要的样式冲突,让前端样式开发更高效。

CSS选择器元素样式选择器优先级伪类选择器属性选择器修改时间:2026-06-03 03:12:36

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。