自定义bootstrap5按钮的颜色和属性

custom.scss在我的项目中创建了我的,并完成了这个:

$primary: #e84c22;

$theme-colors: (
  primary: $primary,
);

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

到目前为止,颜色是这样的:

我对btn-primary课内的课文不满意。默认情况下,它是深色和常规字体。我想将其更改为白色和粗体文本,而无需向按钮元素添加text-lightfw-bold类。我希望它是这样的:

我怎样才能通过修改来做到这一点custom.scss

额外信息:
不像btn-danger

默认为白色文本。必须有一个功能可以根据引导程序中的颜色亮度修改文本颜色。

回答

“必须有根据引导程序中的颜色亮度修改文本颜色的功能。”

是的,它使用了此处解释的WCAG 2.0 算法。根据 WCAG 算法,您使用的红色刚好足以将文本颜色翻转为深色。

按钮由 mixins 创建(请参阅:文档中的按钮)。在这种情况下,button-variantmixin的第三个参数$color定义为:

$color: color-contrast($background, $color-contrast-dark, $color-contrast-light, $min-contrast-ratio)

因此,按钮的颜色或者是$color-contrast-dark$color-contrast-light,取决于WCAG 2.0计算使用$min-contrast-ratio

因此,使得定制红色的颜色暗将翻转文字颜色为白色...

$primary: #d73b11;

@import "bootstrap";    

或者,您可以使用原始的自定义颜色并btn-primary像这样强制使用白色粗体文本...

$primary: #e84c22;

@import "bootstrap";

.btn-primary {
    color: #fff;
    font-weight: bold;    
}   

演示

或者,

您可以在$min-contrast-ratio变量上设置一个较低的值(3、4.5 和 7 是可接受的值),如此答案所示


另请注意,您重新定义主题颜色映射的方式是清除所有其他主题颜色。您只需要更改 $primary 的值即可更改主主题颜色。


以上是自定义bootstrap5按钮的颜色和属性的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>