使用 Bootstrap 5 添加新实用程序

use*_*772 2 utilities sass bootstrap-5

遵循 B5 新文档,这是您应该如何使用新实用程序 API 添加新实用程序的方式。我还没有得到新的输出。

例子:

@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities,
  (
    "cursor": (
      property: cursor,
      class: cursor
      responsive: true,
      values: auto pointer grab,
    )
  )
);
Run Code Online (Sandbox Code Playgroud)

我的文件:

@import "bootstrap.scss";
@import "bootstrap/scss/utilities";

$utilities: map-merge(
  $utilities,
  (
    "button-rounded": (
      property: border-radius,
      class: button-rounded,
      values: (
        null: 20px,
      ),
    ),
  )
);
Run Code Online (Sandbox Code Playgroud)
  • 我需要导入 bootstrap.scss 因为 $utilities 否则未定义
  • 目标是添加一个新属性以使按钮变圆。简单示例以测试新 API。虽然不工作
  • 我正在使用https://github.com/twbs/bootstrap-npm-starter来编译 scss 文件:src是 starter.scss,输出是 starter.css

我找不到新的属性按钮四舍五入

Zim*_*Zim 5

进行引导SASS自定义,则@import "bootstrap"应该去的变化。此外,实用程序文件需要变量文件,变量文件需要函数文件,因此您必须在更改之前导入所有 3...

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

$utilities: map-merge(
  $utilities,
  (
    "button-rounded": (
      property: border-radius,
      class: button-rounded,
      values: (
        null: 20px,
      ),
    ),
  )
);

@import "bootstrap";
Run Code Online (Sandbox Code Playgroud)

演示

由于 Bootstrap 5 目前是测试版,我已经为此提交了一份问题报告

  • 我自己才发现这一点,主要的引导导入需要在后面进行。如果文档提到这一点那就太好了。由于他们使用 `@import` 而不是 `@use`,我们基本上导入了这 3 个文件 `functions`、`variables` 和 `utilities` 两次,因为主要的 `@import "bootstrap"` 也导入了这 3 个文件这不必要地增加了 css 的大小。这是他们想要使用实用程序 API 的方式吗?根据 SASS “每次 @imported 时都会执行每个样式表并发出其 CSS,这会增加编译时间并产生臃肿的输出” (2认同)