CSS选择器是前端开发中精准定位和修改元素样式的核心工具。以下是几种主要的选择器类型及其使用方法:
元素选择器 - 直接通过HTML标签名选择
p { color: blue; } /* 所有<p>元素 */
类选择器 - 通过class属性选择
.warning { color: red; } /* class="warning"的元素 */
ID选择器 - 通过id属性选择
#main-header { font-size: 24px; } /* id="main-header"的元素 */
后代选择器 (空格)
div p { margin: 10px; } /* div内的所有p元素 */
子元素选择器 (>)
ul > li { list-style: none; } /* 仅ul的直接子li元素 */
相邻兄弟选择器 (+)
h2 + p { margin-top: 0; } /* 紧接在h2后的第一个p元素 */
通用兄弟选择器 (~)
h2 ~ p { color: gray; } /* h2之后的所有同级p元素 */
简单属性选择
[disabled] { opacity: 0.5; } /* 所有有disabled属性的元素 */
精确属性值匹配
[type="submit"] { background: green; }
部分属性值匹配
[class*="btn-"] { /* class包含"btn-"的元素 */ }
[href^="https"] { /* href以https开头的元素 */ }
[href$=".pdf"] { /* href以.pdf结尾的元素 */ }
状态伪类
a:hover { text-decoration: underline; }
input:focus { border-color: blue; }
结构伪类
li:first-child { font-weight: bold; }
tr:nth-child(odd) { background: #f5f5f5; }
p::first-line { font-weight: bold; }
p::before { content: "→ "; }
当多个选择器应用于同一元素时,优先级规则如下:
!important > 内联样式 > ID选择器 > 类/属性/伪类选择器 > 元素/伪元素选择器
具体性计算:(a, b, c, d)
通过组合这些选择器,可以精准定位到页面上的任何元素并应用所需的样式修改。