SuperAPI AI 工具集

styling

前端与建站

查看项目

更新于 10-16 04:54

技能介绍

本技能说明项目统一使用 StyleX 进行样式开发,样式体系分三层:设计令牌(值)、设计原语(多属性模式)、stylex.create(组件专属样式)。所有样式通过自定义 css prop 应用,使用 css={styles.foo},而非 {...stylex.props(styles.foo)},由自定义 Babel 插件转译。

用途与选择:多属性模式(flex 布局、填充、截断、重置、过渡)用设计原语,如 css={flex.row};覆盖原语默认值用布局修饰符,如 css={[flex.row, align.end]};单属性样式(颜色、间距、字体、边框)用 stylex.create 加令牌;响应式用 stylex.create 加断点;伪选择器(hover、focus)在 stylex.create 中以对象键书写,如 { default: val, ":hover": hoverVal }。

设计令牌从 #src/tokens.stylex.ts 导入,均为主题感知,类别含 color、space、controlSize、font、border、shadow、layer、ratio。断点从 #src/breakpoints.stylex.ts 导入,值为 sm 320px、md 768px、lg 1080px、xl 2000px。设计原语位于 src/primitives/,每个封装 2 个以上 CSS 属性;flex 最常用,提供 flex.row、flex.col、flex.center、flex.between、flex.wrap、flex.inlineCenter,可用 align、justify、grow、shrink 等修饰符覆盖默认值。其他原语涵盖布局(定位填充、滚动容器、截断、图片适配)、重置(buttonReset.base 去除浏览器按钮默认样式)、动效(带 reduced-motion 处理的过渡与动画预设)。

最佳实践:多属性模式用原语,单属性用令牌;始终使用 css prop;条件样式用数组,如 css={[base, condition && conditional]};移动优先,仅在更大屏幕用断点覆盖;使用能适配明暗主题的颜色令牌;优先逻辑属性如 paddingBlock/paddingInline。完整令牌目录见 references/tokens.md,原语 API 见 references/primitives.md。