ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

FAST Components 排版设计令牌 typeRampMinus1FontSize 详解:字体缩放斜坡(Type Ramp)体系与动态字号控制

FAST Components 排版设计令牌 typeRampMinus1FontSize 详解:字体缩放斜坡(Type Ramp)体系与动态字号控制 前端UI组件【免费下载链接】fastThe adaptive interface system for modern web experiences.项目地址https://gitcode.com/gh_mirrors/fa/fast点击查看免费下载typeRampMinus1FontSize是microsoft/fast-componentsFAST Frame 设计系统中负责正文字号下一级的排版设计令牌用于在多级字体缩放斜坡中为小号辅助文本提供统一、可自适应调整的字号基准。本文将以该令牌为切入点完整讲解 FAST Frame 的 Type Ramp 体系、设计令牌DesignToken的底层运行机制并给出在真实应用中修改与读取该字号的具体代码方案帮助你掌握 FAST 组件库的排版定制能力。一、typeRampMinus1FontSize 是什么typeRampMinus1FontSize是microsoft/fast-components包导出的一个设计令牌变量。根据 API 参考文档其完整类型签名如下typeRampMinus1FontSize: import(microsoft/fast-foundation).CSSDesignTokenstring它由三部分构成所属包microsoft/fast-components即 FAST Frame 设计系统的组件与视觉系统实现包底层类型CSSDesignTokenstring来自microsoft/fast-foundation是一个会向 CSS 发射自定义属性custom property的设计令牌承载值为string类型的 CSS 长度如12px、0.875rem语义定位Minus 1表示它是排版斜坡中比正文Base小一级的字号通常用于辅助说明、标签、脚注等次要文本。与它配套的行高令牌为 typeRampMinus1LineHeight两者共同定义小号文本这一排版层级。二、Type RampFAST Frame 的九级字体缩放体系typeRampMinus1FontSize并非孤立存在它只是 FAST Frame 排版斜坡中的一级。FAST Frame 设计系统文档 完整给出了整个斜坡的九个层级从最小的Minus 2到最大的Plus 6层级字号令牌Font Size Token行高令牌Line Height TokenMinus 2最小typeRampMinus2FontSizetypeRampMinus2LineHeightMinus 1typeRampMinus1FontSizetypeRampMinus1LineHeightBase正文typeRampBaseFontSizetypeRampBaseLineHeightPlus 1typeRampPlus1FontSizetypeRampPlus1LineHeightPlus 2typeRampPlus2FontSizetypeRampPlus2LineHeightPlus 3typeRampPlus3FontSizetypeRampPlus3LineHeightPlus 4typeRampPlus4FontSizetypeRampPlus4LineHeightPlus 5typeRampPlus5FontSizetypeRampPlus5LineHeightPlus 6最大typeRampPlus6FontSizetypeRampPlus6LineHeight这一命名约定同样反映在 fast-components API 索引 的变量清单中typeRampBaseFontSize、typeRampMinus1FontSize、typeRampPlus1FontSize等均为独立的CSSDesignTokenstring变量且全部对应一个同名的行高令牌。这意味着开发者可以按层级整体替换排版节奏而不是逐组件手写字号。三、Type Ramp 与 Design Token 的底层机制FAST Frame 之所以能用换一个令牌值就改掉全站排版是因为这些令牌建立在microsoft/fast-foundation的 DesignToken 体系之上。Design Tokens 文档 说明了这套机制的核心行为1. 令牌值按 DOM 节点设置支持作用域隔离typeRampMinus1FontSize这样的令牌其值是对某个FASTElement或HTMLBodyElement节点设置的因此不同 DOM 子树可以拥有不同的字号import { typeRampMinus1FontSize } from microsoft/fast-components; import { FASTElement } from microsoft/fast-element; const container document.querySelector(my-container) as FASTElement; typeRampMinus1FontSize.setValueFor(container, 12px);2. 值沿祖先链继承设置后该值对该节点及其所有后代节点生效读取时返回最近祖先或自身所设置的值typeRampMinus1FontSize.getValueFor(container); // 12px3. 自动发射 CSS 自定义属性除非显式禁用令牌一旦被设置就会自动向目标元素发射名为--type-ramp-minus-1-font-size的 CSS 自定义属性默认以令牌创建时提供的名字作为属性名组件样式中的font-size即通过引用该自定义属性获得响应式更新。删除某节点的值deleteValueFor后该节点将回退到最近祖先的值。4. 可设置全局默认值在没有任何节点设置值时可以通过withDefault()提供回退值例如typeRampMinus1FontSize.withDefault(12px);5. 支持订阅与派生DesignToken 支持subscribe()订阅值变更可全局订阅也可针对特定元素订阅也支持将令牌值设置为派生函数——函数接收目标元素作为参数并返回新值当依赖的其他令牌或可观察属性变化时派生值会自动重算并同步更新 CSS 自定义属性。这使typeRampMinus1FontSize可以随主题、密度或容器状态动态变化。四、实战修改与使用 typeRampMinus1FontSizeCheat Sheet 速查文档 以typeRampBaseFontSize为例演示了修改令牌的标准写法将其推广到typeRampMinus1FontSize即可import { typeRampMinus1FontSize } from microsoft/fast-components; import { FASTElement } from microsoft/fast-element; const myElement document.querySelector(my-element) as FASTElement; // 将 Minus 1 层级字号改为 12px该元素及其子树生效 typeRampMinus1FontSize.setValueFor(myElement, 12px);配合行高令牌可完整覆盖小号文本层级import { typeRampMinus1FontSize, typeRampMinus1LineHeight } from microsoft/fast-components; typeRampMinus1FontSize.setValueFor(myElement, 12px); typeRampMinus1LineHeight.setValueFor(myElement, 16px);若在 FAST 样式表css标记模板中直接引用令牌DesignToken 会作为 CSS 指令被替换为自定义属性引用从而让样式随令牌值自动同步import { css } from microsoft/fast-element; import { typeRampMinus1FontSize } from microsoft/fast-components; const styles css :host { font-size: ${typeRampMinus1FontSize}; } ;恢复默认值的标准做法是删除该节点的设置typeRampMinus1FontSize.deleteValueFor(myElement);五、使用注意令牌发射的自定义属性应视为只读FAST Frame 文档 特别强调了一条约束不要直接手写覆盖这些令牌发射出的 CSS 自定义属性。因为自适应颜色与排版系统完全在 JavaScript 中运行并负责发射自定义属性若在 CSS 中自行声明同名属性系统无法感知该变更组件会以错误的值渲染进而引发可访问性对比度、字号问题。如需调整值应始终通过DesignToken.setValueFor()这类 API 完成。六、相关文档路径速查本令牌 API 参考fast-components.typerampminus1fontsize.md配套行高令牌fast-components.typerampminus1lineheight.md全部令牌变量清单fast-components.mdType Ramp 九级表格与设计令牌总览design-systems/fast-frame.mdDesignToken 机制详解创建、设置、默认值、订阅、派生、CSS 发射design-systems/design-tokens.md令牌修改速查示例resources/cheat-sheet.md结语typeRampMinus1FontSize是 FAST Frame 排版斜坡中承上启下的关键一环作为CSSDesignTokenstring它既有确定的语义层级比正文小一级又具备设计令牌的全部能力——按节点设置、沿树继承、自动发射 CSS 自定义属性、支持派生与订阅。理解它就理解了 FAST Frame以令牌驱动全组件排版的核心范式从typeRampMinus1FontSize到typeRampPlus6FontSize的九个层级构成了一个可整体调优、可作用域隔离、可响应式更新的排版系统。赞分享前端UI组件【免费下载链接】fastThe adaptive interface system for modern web experiences.项目地址https://gitcode.com/gh_mirrors/fa/fast点击查看免费下载相关推荐Wasp Actions 实战指南声明、实现与前端调用的完整教程Wasp Actions 实战指南声明、实现与前端调用的完整教程 在 Wasp 的教程体系中 第 5 节 https://link.gitcode.com/前端UI组件Shoelace 排版设计令牌Typography Tokens完全指南字体、字号、字重、字间距与行高Shoelace 排版设计令牌Typography Tokens完全指南字体、字号、字重、字间距与行高 排版设计令牌Typography TokensUI组件前端深入解析 typeRampBaseFontSizeFAST Components 基础字体设计令牌的声明、定位与配置深入解析 typeRampBaseFontSize FAST Components 基础字体设计令牌的声明、定位与配置 typeRampBaseFontSiz前端UI组件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表