概览`@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+在多组件复杂页面无选择器冲突与覆盖抖动;样式变更影响面可控

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部