用途:在 Design 中按 Framer 模型管理响应式断点。每个屏幕是同一份文档(一棵 DOM 树),断点帧只是同一文档在不同视口宽度下的渲染,不是独立副本。
主要能力:编辑会级联。基准是最宽的主帧,基准编辑为无前缀类或内联样式,向下级联到所有更窄断点,除非被覆盖。在较窄断点激活时所做的编辑,会以宽度作用域覆盖形式保存,作用范围从紧邻的更宽帧宽度减一,一直到零;更窄断点再在其上叠加自己的覆盖。例如断点 390/810、主帧 1280 时,编辑 810 作用于 ≤1279px,编辑 390 作用于 ≤809px。规范实现见 shared/responsive-classes.ts 中的 breakpointUpperBoundPx。
使用方式:add-breakpoint 向 designs.data.breakpointSet 添加设备宽度帧(Framer 默认 Desktop 1200 / Tablet 810 / Phone 390,或自定义 320-3840),重复宽度会被忽略;remove-breakpoint 按 id 删除;set-active-breakpoint 将活动编辑作用域持久化到应用状态。做响应式专属编辑前,先用 view-screen 检查活动断点。UI 断点栏与概览中的并排联动帧驱动同一状态。
响应式编辑:使用 apply-visual-edit 并将 activeFrameWidthPx 设为活动断点帧宽度,类与样式意图统一走同一套类与媒体查询决策。Tailwind 工具类(如 text-lg、p-4)会变成宽度作用域类,如 max-[809px]:text-lg;原始 CSS 值会写入受管理的 <style data-agent-native-breakpoints> 块,成为针对元素 data-agent-native-node-id 的 @media (max-width: <bound>px) 规则。也可用 maxWidthPx 显式指定桌面向下边界,或用 intent.kind: "breakpoint-style" 直接写入/移除受管理媒体规则。activeBreakpoint: "md" 等为旧式 min-width 前缀作用域,仅用于类编辑。
检查与重置:effectiveUtilityAtWidth 判断某宽度下哪个工具类生效;getBreakpointOverrideState 汇总类与媒体覆盖,供检查器显示覆盖标记。重置覆盖可移除作用域类或媒体规则,基准值会重新级联下来。
限制与注意:受管理媒体规则锚定 data-agent-native-node-id,内联(SQL)设计保留这些 id,localhost 回写会剥离它们,本地文件源建议用作用域类。不要手工整体重写受管理块,应使用编辑意图,使同属性写入替换而非累积。在两个已有宽度之间新增断点只改变新覆盖的边界,已写入的覆盖保持原边界。资料未提供收费、价格与平台信息。