14

让一个颜色变量在sheet.less.

颜色是十六进制格式#f57e20

我想使用该颜色,但要为其添加一个 Alpha 通道。

我想结束rgba(245, 126, 32, 0.5)

Bootstrap更少有什么关系吗?

4

2 回答 2

20

您可以使用Bootstrap的一些内置函数less.jsmixins :

这是一个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混合:

.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);
  }
}
于 2012-09-26T04:08:28.317 回答
2

您可能想尝试:

background: rgba(red(@color), green(@color), blue(@color), @alpha);

在编写使用 box-shadow 的快速 mixin 时,我不得不做类似的事情。

于 2013-05-24T16:39:30.767 回答