在sheet.less
。
color 采用HEX格式#f57e20
。
我想使用颜色,但要为其添加Alpha通道。
我想以rgba(245, 126, 32, 0.5)
Bootstrap 或 less 是否有任何要做的事情?
答案 0 :(得分:20)
您可以使用less.js
中的内置函数和 Bootstrap 中的 mixins :
这是less.js
函数:
// using a variable
@color: #f57e20;
.test {
background: fade(@color, 50%); // return @color with 50% transparency
}
// or without the color variable
.test2 {
background: fade(#f57e20, 50%); // return @color with 50% transparency
}
这两个都导致:
.test {
background: rgba(245, 126, 32, 0.5);
}
.test2 {
background: rgba(245, 126, 32, 0.5);
}
或使用 Bootstrap mixin:
.test3 {
#translucent > .background(#f57e20, 0.5); // use HSLA mixin
}
结果是:
.test3 {
background-color: rgba(244, 123, 31, 0.5);
}
我将translucent
mixins的(固定)代码包含在这里用于存档目的,因为(最后我检查过)它不再包含在 Bootstrap 3.0.0 中:
// Add an alphatransparency value to any background or border color (via Elyse Holladay)
#translucent {
.background(@color: @white, @alpha: 1) {
background-color: fade(@color, @alpha);
}
.border(@color: @white, @alpha: 1) {
border-color: fade(@color, @alpha);
.background-clip(padding-box);
}
}
答案 1 :(得分:2)
您可能想尝试:
background: rgba(red(@color), green(@color), blue(@color), @alpha);
在编写使用box-shadow的快速mixin时,我必须做类似的事情。