
postcss
CSS自定义属性是定义语义化调色板最轻量灵活的方式,应集中声明于:root,配合hsl()实现可计算色彩扩展,并避免@import外部文件及仅靠prefers-color-scheme硬切换暗色模式。
scoped是伪隔离,依赖属性选择器标记;ShadowDOM是原生隔离,外部样式无法穿透。CSSModules需避免字符串拼接class和滥用:global(),slot交互样式应使用:deep()或...
伪元素必须配合content属性使用,否则不渲染;默认为行内级,需设display才能设置宽高;无法被JS操作或绑定事件,仅能通过宿主元素class或data属性间接控制。
现代CSS项目不推荐用@import,因其阻塞并串行加载,导致关键样式延迟渲染;而可并行加载、支持预加载与媒体查询条件加载,性能更优。
应避免超过3层嵌套、冗余父级及与BEM混用;宜用于作用域隔离、响应式覆盖或第三方组件修正;子选择器>性能优,+依赖顺序,~慎用于长列表;BEM应禁用嵌套,用修饰符替代;CSSNesting需@n...
CSS引入顺序必须为「重置基础组件页面主题」,禁用@import,采用同步加载;class需带作用域前缀如.c-button;媒体查询与暗色模式须内联至对应组件样式中。
专业CSS开发的关键在于建立约束机制而非语法正确:Tailwind通过原子化token、统一设计系统、显性化配置,强制规范class命名、响应式逻辑和主题管理,避免样式失控与维护混乱。
CSS中没有layered选择器,所谓“层叠”实为特异性、声明顺序和!important共同作用的结果;@layer是用于控制样式优先级的层叠规则,而非选择器。
统一断点反而让维护更难,因其错将像素值作为统一对象,而真正应统一的是设备类型语义与内容响应边界;需基于内容密度设断点、用容器查询按功能分组命名、以行为描述替代像素描述。
推荐使用CSS自定义属性(变量)集中管理颜色,定义在:root中并语义化命名(如--color-brand),通过var()调用,支持fallback、动态覆盖与主题切换,兼顾可维护性与兼容性。