概览`@scope` 能让选择器在给定根内生效,从而限制级联影响范围。与 `@layer` 配合可实现自下而上的样式治理,减少全局覆盖与命名冲突,提升组件复用性。基础用法@scope (.card) { :scope { /* 作用于 .card 根 */ padding: 1rem; border: 1px solid #eee; } .title { font-weight: 600; } .desc { color: #555; } } 多层作用域与优先级@layer reset, base, components; @layer components { @scope (.modal) { .title { font-size: 1.25rem; } .actions { display: flex; gap: .5rem; } } } 结合状态选择器@scope (.card:is(.active, .warning)) { .title { color: oklch(60% 0.12 250); } } 工程要点将组件样式封装为 `@scope + @layer`,避免全局选择器污染。在复杂页面中对弹层、卡片等局部组件使用独立作用域。搭配设计令牌与容器查询,提升适配与维护性。验证与指标浏览器:Chrome 120+、Safari 17+、Firefox 120+在多组件复杂页面无选择器冲突与覆盖抖动;样式变更影响面可控

发表评论 取消回复