@financial-times/o-colors

中文文档
6.7.1发布于 2026/02/26MITES Module零依赖近 30 天下载 1.6万

所有 FT 产品的默认颜色调色板 。 调色板支持色彩对比检查,色彩混合和调色.

中文使用文档
文档目录18 节
  1. 使用量
  2. 标记
  3. 颜色使用大小写类
  4. CSS 自定义属性
  5. 色彩调色板自定义属性
  6. 颜色自定义属性
  7. 萨斯
  8. 调色板颜色
  9. 默认调色板颜色
  10. 使用大小写
  11. 自定义使用大小写
  12. 生成文本颜色
  13. 混合颜色
  14. 调色板颜色
  15. 颜色工具
  16. 移徙
  17. 联系人
  18. 许可证

⚠️ 注: 已替换为 o3 创建请参看 移徙指南 用于升级的步骤.

o-颜色 MIT licensed

用于管理颜色的组件 。 包括 FT 彩色调色板.

使用量

检查出来 如何将 Origami 组件纳入您的项目 开始 o-colors。 。 。 .

标记

颜色使用大小写类

有限的颜色 使用大小写 提供CSS课程,包括:

  • .o-colors-page-background
  • .o-colors-box-background
  • .o-colors-body-text
  • .o-colors-muted-text
<body class="o-colors-page-background">
    <!-- default background colour set -->
    <!-- e.g. for the core brand `background: #fff1e5;` -->
</body>

用于构建服务用户的颜色更多 CSS 自定义属性。 。 。 .

CSS 自定义属性

色彩调色板自定义属性

所有调色板颜色,包括默认的组合和色调,都可以作为CSS自定义属性(CSS可变)格式 --o-colors-[NAME]。 。 。 .

见 所有可用的调色板颜色 在登记册中.

.ft-pink {
    background: var(--o-colors-paper);
    color: var(--o-colors-black-80);
}

颜色自定义属性

有限的颜色 使用大小写 也可作为CSS自定义属性(CSS变量)提供,包括:

  • --o-colors-page-background
  • --o-colors-box-background
  • --o-colors-body-text
  • --o-colors-muted-text
  • --o-colors-link-text
  • --o-colors-link-hover-text
body {
    background: var(--o-colors-page-background);
}

萨斯

o-colors有多个混音器和功能供您访问项目中的调色板. 我们建议Sass项目直接使用这些混合体和功能. 举个例子. 颜色ByName 财务报告和审定财务报表 颜色Byuses case然而,也可以使用以下选项输出所有 o-colors CSS 自定义属性(CSS变量)和类: oColors 混合剂.

@import '@financial-times/o-colors/main';
@include oColors(
    $opts: (
        'palette-custom-properties': true,
        // e.g. --o-colors-paper
        'usecase-custom-properties': true,
        // e.g. --o-colors-page-background
        'usecase-classes': true // e.g. .o-colors-page-background,
    )
);

调色板颜色

o-colors 定义了一个颜色调色板( 一组命名的颜色), 它可能是 在登记册中预览。自定义调色板颜色可能会被添加到调色板上,以便与依赖性共享.

颜色名称品牌支持
黑色核心、内部、白色标签
白色核心、内部、白色标签
奥克福德核心、内部
泰尔核心、内部
列表核心,内部,
柠檬核心,内部,
玉坛核心、内部
普通话核心、内部
曲线核心、内部
纸张核心项目
克莱特核心项目
小麦核心项目
天空核心项目
天鹅绒核心项目
甜点核心项目
伊萨比核心项目
浅蓝色核心项目
图形- 暗蓝色核心项目
ft-平克(原为品牌-ft-平克)核心项目
ft-灰色核心项目
奥尔格-b2c核心项目
奥尔克-b2c-黑暗核心项目
org-b2c-光线核心项目
薄荷核心项目

调色板默认还有额外的颜色,包括色调和混音. 见注册演示 一个完整的名单.

ft-pink 财务报告和审定财务报表 ft-grey 是一些数字资产中使用的品牌颜色,例如FT标志,但数字用户界面的有效使用案例数量有限。 而不是考虑 paper 财务报告和审定财务报表 slate 或黑相/相纸混合,例如 black-80。作为用于 ft-pink,它可用于防止错误颜色的闪出作为标志图像负载.

默认调色板颜色

使用调色板获取默认颜色 oColorsByName。 。 。 .

.example {
    // Get a default o-colors palette colour.
    background: oColorsByName('paper');
}

自定义调色板颜色

设置自定义调色板颜色以与其他组件共享调用 oColorsSetColor。 。 。 . 对项目或组件必须使用向前斜线进行命名.

// Set a custom palette colour within a project `o-example`.
@include oColorsSetColor(
    $color-name: 'o-example/myhotpink',
    $color-value: #ff69b4
);

.example {
    // Get a custom palette colour from a project `o-example`.
    background: oColorsByName('o-example/myhotpink');
}

默认的自定义颜色不允许 音调 以减少项目内使用的颜色。 允许Tones设置 allow-tones 选项.

// Set a custom palette colour within a project `o-example`,
// which allows tones of the same colour.
@include oColorsSetColor(
    $color-name: 'o-example/myhotpink',
    $color-value: #ff69b4,
    $opts: (
        'allow-tones': true,
    )
);

.example {
    // Get a toned custom palette colour from a project `o-example`.
    background-color: oColorsGetTone('o-example/myhotpink', 80);
}

删除一个颜色被视为突破性变化,需要主放出. 向用户告知一种颜色不应通过传递而贬值 $opts 带有贬损消息的参数.

// Deprecate a custom colour, which will be removed in a future major release.
@include oColorsSetColor(
    $color-name: 'o-example/myhotpink',
    $color-value #ff69b4,
    $opts: (
        'deprecated': 'Use the default colour claret instead.',
    )
);

见 o- 颜色 SassDoc 更多细节和实例.

使用大小写

A 类 彩色调色板 帮助产品使用同一套颜色,但并不帮助他们一致地使用颜色. 因此o-colors提供了基于用例返回颜色的工具. 例如,页面背景或正文文本的颜色.

使用大小写财产品牌支持
页 次背景情况核心、内部、白色标签
焦点大纲核心、内部
选项框背景情况核心、内部
链接文本核心、内部
链接-hover文本核心、内部
链接标题文本核心、内部
链接-标题-标题文本核心、内部
标题文本核心、内部
机构文本核心、内部
哑巴文本核心、内部
标签链接文本核心项目
标签链接- hover文本核心项目
意见-tag-链接文本核心项目
意见-tag-link-hover文本核心项目
意见背景情况核心项目
超级英雄背景情况核心项目
英雄倾向背景情况核心项目
英雄高亮灯背景情况核心项目
广告背景情况核心项目
区域颜色
生命权全部核心项目
生命-艺术-备选案文全部核心项目
区域图全部核心项目
区-岩浆-平面全部核心项目
住房全部核心项目
住房全部核心项目
款项全部核心项目
款-备用款全部核心项目

默认使用大小写

获取默认使用大小写调用颜色 oColorsByUsecase。 。 。 .

html {
    // get the background colour for the page usecase
    background: oColorsByUsecase('page', 'background');
}

.paragraph {
    // get the text colour for the body usecase
    color: oColorsByUsecase('body', 'text');
}

自定义使用大小写

创建新的使用大小写呼叫 oColorsSetUseCase。 。 。 .

  • $usecase: 使用套件的名称, 如 “ page ” 。 这必须包括您组件或工程的命名空间,然后是向前斜线.
  • $colors: 将属性("文本","背景","边界",或"外线")映射到调色板颜色名上.
  • $opts (可选) :
    • deprecated: 用于用例的贬损信息.
// set colours for a "stripes" in o-example.
@include oColorsSetUseCase(
    'o-example/stripes',
    (
        'text': 'white',
        'background': 'black',
        'border': 'black-50',
    )
);

删除一个使用大小写是一个突破性更改,需要主放出. 为通知用户,不应使用一个使用套件,而应加以折旧。 通过一个 $opts 带有贬损消息的参数.

折旧所有使用大小写属性 :

// deprecate all usecase properties for the o-example custom usecase "stripes".
@include oColorsSetUseCase(
    'o-example',
    'stripes',
    (
        'text': 'white',
        'background': 'black',
        'border': 'black-50',
    ),
    (
        'deprecated': 'o-example has no stripes anymore, use a different colour',
    )
);

折旧个人使用大小写属性 :

// deprecate only the background property for the o-example custom usecase "stripes".
@include oColorsSetUseCase(
    'o-example',
    'stripes',
    (
        'text': 'white',
        'background': 'black',
        'border': 'black-50',
    ),
    (
        'deprecated': (
            'background':
                'o-example stripes has no background anymore, use a different colour',
        ),
    )
);

生成文本颜色

oColorsGetTextColor 将返回基于背景和指定的不透明度的浅色或暗色文字颜色.

.example {
    background: oColorsByName('teal');
    // Get a text colour for a teal background
    color: oColorsGetTextColor('teal');
}
.example {
    background: oColorsByName('teal');
    // Get a text colour for a teal background,
    // with greater than usual opacity (80)
    color: oColorsGetTextColor('teal', 80);
}

背景对比度和产生的文本颜色对照 WCAG 2.1准则。如果对比度过低,则投出出出错。 默认情况下, 在 AA 级别检查 对比度 。 可检查对比度 大文本 或针对更严格的AAA建议(正常、大、或大).

.example-large-text {
    background: oColorsByName('teal');
    // Get a text colour for a teal background,
    // enforce a lower level of contrast "large text".
    color: oColorsGetTextColor('teal', $minimum-contrast: 'aa-large');
}

设定 $minimum-contrast 改为 null 删除对比检查。 只忽略对比 附带或标志文本,否则您的项目可能无法访问.

混合颜色

oColorsMix 将按百分比混合两种颜色。 这给人留下了底色在背景颜色上不透明的百分比时出现的印象. oColorsMix 将接受一个颜色值或一个o-colors调色板颜色的名称作为参数.

默认 oColorsMix 与页面背景颜色使用大小写相混合 :

$color: oColorsMix(
    $color: 'black',
    $percentage: 30,
); // same as black-30

但可出出二种相相相. 例如,以20%的速度混合平板电脑:

$color: oColorsMix(
    $color: 'claret',
    $background: 'slate',
    $percentage: 20,
);

调色板颜色

O-克色色调是调色板颜色,带有被修改的饱和度和发光度,在保持活性的同时会形成更轻或更暗的颜色.

所推荐的色调已经在色调中,例如:. teal-80 (见 登记册中的默认值) (中文(简体) ). 然而,对于需要使用新语气的情况 oColorsGetTone。它将返回基于指定亮度的新颜色.

.teal-tone-example {
    background-color: oColorsGetTone('teal', 80);
}

就设计的一致性而言,并非所有颜色都允许被标注。 只有调色板中带有默认色调的颜色(如teal,oxford,和claret)才能被使用. 其他颜色 可能还是混血儿。如果您的工程使用 oColorsSetColor,这些可能通过设置 allow-tones 选项。 。 。 .

颜色工具

o-colors为用颜色工作提供了其他有用的功能,包括:

  • 校对:Soup
  • 颜色亮度
  • 颜色图示

见 o- 颜色 SassDoc 更多细节和实例.

移徙

状态主要版本最后一个小版本移徙指南
活动单位3不详迁移到 o3
维护6个不详迁移到 v6
已贬值页:1不详迁移到 v5
已贬值页:14.10 (中文(简体) )迁移到 v4
已贬值3个3.6 国家迁移到 v3
已贬值2个2.5 国家迁移到 v2
已贬值1个1.1 国家迁移到 v1
已贬值0 个0.2 (韩语)不详

联系人

如果您对本部分有任何问题或评论,或需要帮助使用本部分,请 提出问题访问 #origami - 支持 或电子邮件 折纸支持。 。 。 .


许可证

本软件由金融时报根据以下规定出版: 麻省理工学院许可证。 。 。 .

版本与发布记录

@financial-times/o-colors 共发布 70 个版本,首次发布于 2019/02/13;过去 12 个月发布了 1 个版本。

版本发布日期距今
6.7.1latest2026/02/268 个月前
6.7.02024/07/312 年前
6.6.42024/03/272 年前
6.6.32023/10/273 年前
6.6.22023/07/053 年前
6.6.12023/06/023 年前

其他发布通道:prerelease → 6.0.0-beta.0。

关于 @financial-times/o-colors 的常见问题

@financial-times/o-colors 是什么?

所有 FT 产品的默认颜色调色板 。 调色板支持色彩对比检查,色彩混合和调色.

如何安装 @financial-times/o-colors?

在项目目录运行 npm install @financial-times/o-colors,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@financial-times/math(^1.0.0)、@financial-times/o-brand(^4.0.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@financial-times/o-colors 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/financial-times__o-colors 是否存在。

@financial-times/o-colors 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@financial-times/o-colors 可以商用吗?

@financial-times/o-colors 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@financial-times/o-colors 的下载量有多少?

根据 npm 官方下载统计,@financial-times/o-colors 在 2026/10/15 – 2026/11/13 这 30 天内被下载 15,763 次,日均约 525 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@financial-times/o-colors 还在维护吗?

最新版本 6.7.1 发布于 2026/02/26(8 个月前);至今共发布 70 个版本,其中过去 12 个月发布了 1 个;首次发布于 2019/02/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。