【发布时间】:2021-12-14 21:00:28
【问题描述】:
我正在尝试在用户可以动态更改配色方案的网站上实施 Bootstrap。
我已经使用 CSS vars 完成了这项工作,遵循 this guide。
它通常可以工作,但是当任何东西使用变亮或变暗功能(例如警报)时,它就不起作用了。
CSS 变量是这样在 HTML 的头部声明的;
<style type="text/css">
:root {
--primary: #3490dc;
--primary-h: 207;
--primary-s: 71%;
--primary-l: 53%;
--primary-a: 1;
--secondary: #6c757d;
--secondary-h: 207;
--secondary-s: 71%;
--secondary-l: 53%;
--secondary-a: 1;
--success: hsl(207, 71%, 53%);
--success-h: 207;
--success-s: 71%;
--success-l: 53%;
--success-a: 1;
--info: #17a2b8;
--info-h: 188;
--info-s: 78%;
--info-l: 41%;
--info-a: 1;
--warning: #ffc107;
--warning-h: 188;
--warning-s: 78%;
--warning-l: 41%;
--warning-a: 1;
--danger: #dc3545;
--danger-h: 188;
--danger-s: 78%;
--danger-l: 41%;
--danger-a: 1;
--light: #f8f9fa;
--light-h: 188;
--light-s: 78%;
--light-l: 41%;
--light-a: 1;
--dark: #343a40;
--dark-h: 188;
--dark-s: 78%;
--dark-l: 41%;
--dark-a: 1;
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
</style>
当我检查控制台显示的警报元素时;
.alert-success {
color: hsla(calc((
0deg + var(--success-h)) / 2), calc((0% + var(--success-s)) / 2), calc((0% + var(--success-l)) / 2), calc((1 + var(--success-a, 1)) / 2));
background-color: hsla(calc((
0deg + var(--success-h)) / 2), calc((0% + var(--success-s)) / 2), calc((100% + var(--success-l)) / 2), calc((1 + var(--success-a, 1)) / 2));
border-color: hsla(calc((
0deg + var(--success-h)) / 2), calc((0% + var(--success-s)) / 2), calc((100% + var(--success-l)) / 2), calc((1 + var(--success-a, 1)) / 2));
}
但计算出来的却显示;
background-color: rgba(0, 0, 0, 0)
因此警报背景上没有颜色。
【问题讨论】:
标签: html css twitter-bootstrap sass