
CSS选择器是网页样式设计的基石,它们赋予开发者精确控制页面元素样式的能力。虽然许多开发者熟悉常用的选择器,但一些鲜为人知的选择器却能显著提升效率和代码优雅性。
CSS选择器详解
CSS选择器是用于在HTML文档中选取特定元素的模式,它们根据元素的属性、类名、ID等进行定位。
常用CSS选择器
以下是一些常用的CSS选择器:
-
元素选择器: 作用于特定HTML标签的所有元素。例如,为所有元素设置边框:
div { border: 1px solid black; }- 类选择器: 选择带有特定类名的元素。例如,为类名为"text-large"的元素设置字体大小:
.text-large { font-size: 20px; }- ID选择器: 选择具有唯一ID的元素。例如,为ID为"header"的元素设置背景颜色:
#header { background-color: blue; }-
属性选择器: 选择具有特定属性的元素。例如,为所有具有
rel="external"属性的链接设置红色文本:
a[rel="external"] { color: red; }高级CSS选择器:提升样式控制的技巧
以下是一些不太常见但非常实用的CSS选择器:
立即学习“前端免费学习笔记(深入)”;
子选择器 (>)
它只选择父元素的直接子元素。例如,为类名为"container"的元素的直接子
元素设置左外边距:.container > p { margin-left: 10px; }后代选择器 (空格)
它选择元素内部的所有后代元素。例如,为ID为"main"的元素内部的所有
元素设置绿色文本:#main span { color: green; }相邻兄弟选择器 (+)
选择紧跟在特定元素后的兄弟元素。例如,为
元素后紧跟的元素设置粗体:h3 + p { font-weight: bold; }通用兄弟选择器 (~)
选择特定元素的所有兄弟元素,无论它们是否相邻。例如,为类名为"item"的元素后的所有类名为"detail"的兄弟元素设置顶部内边距:
.item ~ .detail { padding-top: 5px; }部分匹配属性选择器 (^=, $=, *=)
- 以(^=)开头: 为src属性以"https://example.com/images/"开头的所有图片设置圆角:
img[src^="https://example.com/images/"] { border-radius: 5px; }- 以($=)结尾: 为method属性以"post"结尾的所有表单设置背景色:
form[method$="post"] { background-color: #f0f0f0; }- *包含(=)**: 为href属性包含"product"的所有链接设置下划线:
a[href*="product"] { text-decoration: underline; }否定伪类 (:not())
选择不匹配特定选择器的元素。例如,为除类名为"hidden"外的所有元素设置块级显示:
:not(.hidden) { display: block; }目标伪类 (:target)
当URL片段与元素的ID匹配时生效。例如,当URL包含"#contact"片段时,为ID为"contact"的元素设置黄色背景:
#contact:target { background-color: yellow; }语言伪类 (:lang())
根据元素的语言属性进行选择。例如,为
lang="en-us"的元素设置字体::lang(en-us) { font-family: Arial, sans-serif; }包含伪类 (:has())
选择包含特定子元素或后代的元素。例如,为包含
元素的元素设置内边距:div:has(> img) { padding: 10px; }选择伪类 (::selection)
设置用户选中文本的样式。例如,设置用户选中文本的背景色和文本颜色:
p::selection { background-color: purple; color: white; }总结
这些高级CSS选择器提供了更精细的样式控制,能够提升代码的可读性和效率,让开发者更灵活地创建具有视觉吸引力和良好结构的网页。
更多信息请访问:https://www.php.cn/link/3c8ebb190703254a2cb4ede547c4285c










