CSS font-palette 如何为彩色字体选择调色板:从 COLR 表到主题切换
彩色字体把字形轮廓与颜色分开存储,调色板则决定每个颜色槽取什么值。文章以品牌图标字体随主题切换配色为例,说明 COLR/CPAL 表如何携带多套调色板、font-palette 如何按索引或名称选择、@font-palette-values 如何用 override-colors 覆盖颜色,并对比 SVG 图标方案在缓存与渲染上的差异与回退边界。
共 3 篇文章
彩色字体把字形轮廓与颜色分开存储,调色板则决定每个颜色槽取什么值。文章以品牌图标字体随主题切换配色为例,说明 COLR/CPAL 表如何携带多套调色板、font-palette 如何按索引或名称选择、@font-palette-values 如何用 override-colors 覆盖颜色,并对比 SVG 图标方案在缓存与渲染上的差异与回退边界。
设计系统常把浅色与深色主题写进两套自定义属性,再用媒体查询覆盖,维护成本高且容易漏改。本文以组件库主题切换为场景,解释 light-dark() 如何依据 color-scheme 的计算值返回对应颜色,说明它与自定义属性、prefers-color-scheme 媒体查询的差异,并给出显式声明 color-scheme、回退策略与可观测信号的工程做法。
本文以主题切换为例,解释 CSS 容器查询中 @container style() 的机制,分析其与尺寸容器查询的差异,说明样式查询为何不会导致布局重排,并对比传统类名切换方案的适用边界与浏览器支持。