先决条件
- 我拥有 searched 用于重复或关闭的功能请求
- 我已阅读了 contributing guidelines
建议
在我看来,使用某种 mixin 来设置 bs css 变量会很好。例如,我们可以使用这个 mixin 来设置 css 变量。这样一来,用户在自定义 bootstrap 以满足他们自己的需求时,就不需要在设置 var 名称时以 $prefix 变量开头。
@mixin set-var($name, $value) {
--#{$prefix}#{$name}: #{$value};
}
.card-primary {
$background: blue;
$border: if($color == $color-contrast-light, shade-color($background, 10%), tint-color($background, 10%));
$color: color-contrast($background);
@include set-var(card-border-color, $border);
@include set-var(card-cap-bg, $background);
@include set-var(card-cap-color, $color);
@include set-var(card-color, $color);
@include set-var(card-bg, tint-color($background, 5%));
}
动机和背景
我看到了很多直接在 sass 中使用 $prefix 变量的重复变量。在我看来,这可以更好,这样喜欢自定义 bootstrap 的用户就不必做太多工作。
4条答案
按热度按时间2mbi3lxu1#
我能参与这个问题吗?
q3qa4bjr2#
感谢@stijn7621提出的这个功能请求。
我知道我们在与@mdo讨论颜色模式的实现时,曾经谈到过类似的事情。我个人认为,在自定义Bootstrap时,为什么要这样做呢?复制粘贴
@include set-var()
而不是--#{$prefix}
,这样做是重复的。它会带来一些非常特定于Bootstrap的内容,而不是使用常规的自定义属性声明。我不确定从可读性和使用性的Angular 来看,这样做是否更好。此外,在文档中(例如:https://twbs-bootstrap.netlify.app/docs/5.3/components/accordion/#variables),我们会有一个看起来不像自定义属性的
@include set-var()
列表。但这只是我的个人观点,让我们看看其他人对此有什么看法吧 :)在启动任何开发之前,@Blueclaus13,让我们等待一下,看看我们是否同意这个新功能。
lg40wkob3#
感谢@julien-deramond的回答。
我同意set-var也是重复的。然而,如果你稍微修改一下,让它也能接受键值对Map,这个功能可能会更加用户友好。此外,我认为使用mixin会使代码更易懂,并为开发者提供了额外的故障保护,以防他们忘记/拼写错误#{$prefix}或bs来设置或覆盖CSS变量。以下是一个替代建议,它也接受键值对Map:
我很可能听到其他人对这个功能的看法!
pbpqsu0x4#
这个功能有什么更新吗?