优先使用类选择器并遵循语义化命名(如BEM),避免深层嵌套和过度使用ID、通用选择器,控制伪类与属性选择器复杂度,杜绝滥用内联样式和!important,提升CSS性能与可维护性。
CSS选择器的使用应兼顾性能、可维护性和语义清晰。合理的选择器结构能让样式更稳定,减少冲突,并提升页面渲染效率。
类选择器是构建可复用样式的最佳方式,推荐使用语义化、易于理解的命名。
• 避免使用标签选择器或ID选择器定义通用样式。.btn__primary--large)增强可读性与模块化。深层嵌套会增加选择器权重,降低性能,并使样式难以维护。
• 尽量控制层级不超过三层,例如:.header .nav .link 已算较深。#id .class div span a 这类冗长表达式。ID在页面中应唯一,且其优先级过高,不利于样式覆盖。
• 不用于定义样式,更适合JavaScript操作或锚点定位。* 选择器匹配所有元素,影响渲染性能。
margin: 0; padding: 0 只应用于特定标签)。伪类(如 :hover, :focus)和属性选
择器(如 [type="text"])功能强大,但需注意性能。
.btn:hover 而非 div a.btn:hover。[class*="btn"] 可能匹配意外元素。
内联样式和 !important 破坏层叠逻辑,难于维护。
基本上就这些。写选择器时多思考“是否容易理解”、“是否容易复用”、“会不会影响别人”,就能写出更专业的CSS。不复杂但容易忽略。