用途:本技能为 epicenter 仓库提供样式与布局规范,覆盖 Tailwind 工具类、cn() 类名合并、flex 布局与滚动行为,以及共享 UI 基元的覆写。适合在“调整样式”“修 CSS”“加类名”“不滚动”“溢出”等场景中调用。涉及 shadcn-svelte 结构、变体、Bits UI 组合或本地包装器行为时,需参考 ui-design 的组件系统文档;普通 Tailwind 工具类与下文布局规则无需外部查询。
主要能力与规则:一、减少包裹元素,能直接作用于语义元素时不要新增 div。二、Tailwind 实践:用 $lib/utils 的 cn() 条件合并类名;局部布局与状态优先用工具类而非自定义 CSS;优先共享尺度与语义 token 工具类,避免任意括号值与原始颜色;组件变体系统用 tailwind-variants;颜色遵循 background/foreground 约定并利用 CSS 变量保持主题一致。三、共享基元覆写:对 @epicenter/ui 基元加类时,通常只表达父级布局或产品状态,不重定义其视觉预算;若覆写反复出现尺寸、密度、圆角、间距、内边距、排版、hover、focus 或过渡类,应改用尺寸、变体或语义包装器。四、禁用状态:交互元素可能不可交互时用 HTML disabled 属性,配合 enabled: 与 group-disabled: 变体,浏览器原生阻止点击并支持 :disabled 伪类,比 JS 条件守卫更符合可访问性。五、Flex 列滚动陷阱:flex 子项同时有兄弟元素(页头、工具栏、页脚)时,h-full 会算作父级全高而溢出,应改为 flex-1 min-h-0 overflow-hidden,三者缺一不可;该问题常见于 Resizable.Pane(paneforge)、ScrollArea.Root(bits-ui)或需独立滚动的分栏布局。ScrollArea.Root 视口高度为 100%,在 flex 中会破坏尺寸链,建议优先用普通 overflow-y-auto,如需自定义滚动条则用 flex-1 min-h-0 overflow-hidden 的容器包裹。经验法则:若在 flex 列子项上写 h-full 且它有兄弟元素,就替换为三者组合;h-full 仅在该元素为父级唯一子项时可用。
限制:资料未提供安装命令、依赖版本、具体 API 签名或兼容平台信息,暂未提供。