You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap SCSS转CSS报错:未定义变量$theme-colors-rgb

解决Bootstrap定制编译时的变量未定义错误(无需引入variables-dark)

问题分析

第一个错误$theme-colors-rgb未定义,是因为_root.scss依赖该变量,而它由_maps.scss生成;导入_maps.scss后出现的$primary-text-emphasis-dark错误,是因为_maps.scss引用了仅在variables-dark.scss中定义的深色模式文本强调色变量。

解决方案

无需引入variables-dark.scss,只需在导入_maps.scss前手动定义缺失的深色模式变量,或覆盖相关映射表即可:

方法1:手动定义缺失的深色变量

在custom.scss中,调整导入顺序并添加变量定义:

@import "../scss/bootstrap/functions";
@import "../scss/bootstrap/variables";

// 定义缺失的深色模式文本强调色变量,复用浅色模式值或自定义
$primary-text-emphasis-dark: $primary-text-emphasis;
$secondary-text-emphasis-dark: $secondary-text-emphasis;
$success-text-emphasis-dark: $success-text-emphasis;
$info-text-emphasis-dark: $info-text-emphasis;
$warning-text-emphasis-dark: $warning-text-emphasis;
$danger-text-emphasis-dark: $danger-text-emphasis;
$light-text-emphasis-dark: $light-text-emphasis;
$dark-text-emphasis-dark: $dark-text-emphasis;

@import "../scss/bootstrap/mixins";
@import "../scss/bootstrap/maps";
@import "../scss/bootstrap/root";
// 其余需要的组件

方法2:覆盖主题文本强调色映射表

如果不需要深色模式的文本强调色配置,直接重新定义$theme-text-emphasis-colors映射表,移除对深色变量的引用:

@import "../scss/bootstrap/functions";
@import "../scss/bootstrap/variables";

// 重新定义文本强调色映射,仅保留浅色模式配置
$theme-text-emphasis-colors: (
  "primary": $primary-text-emphasis,
  "secondary": $secondary-text-emphasis,
  "success": $success-text-emphasis,
  "info": $info-text-emphasis,
  "warning": $warning-text-emphasis,
  "danger": $danger-text-emphasis,
  "light": $light-text-emphasis,
  "dark": $dark-text-emphasis
);

@import "../scss/bootstrap/mixins";
@import "../scss/bootstrap/maps";
@import "../scss/bootstrap/root";
// 其余需要的组件

验证编译

重新执行编译命令:

sass scss/custom.scss:css/bootstrap.min-new.css

这样既解决了变量未定义的报错,又不会因引入variables-dark.scss增大CSS体积。

内容的提问来源于stack exchange,提问作者Zollikofen4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 08:17:34