Twitter bootstrap hex到rgba?

时间:2012-09-25 10:35:00

标签: css twitter-bootstrap less alpha

sheet.less

中使用颜色变量

color 采用HEX格式#f57e20

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

我想以rgba(245, 126, 32, 0.5)

结束

Bootstrap less 是否有任何要做的事情?

2 个答案:

答案 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时,我必须做类似的事情。