设置元素背景的alpha值而不更改其style.background值

时间:2011-09-09 20:34:02

标签: javascript html css

我在style.background属性中有一些hss背景颜色的html元素。

颜色是动态生成的,因此它们可以采用所有可能的格式,例如red#rgbrgb(...);

我想知道是否有一种方法可以在样式属性中设置元素background颜色的alpha值,而不更改object.style.background属性值(因为我不知道在哪种格式用背景色表示。

所以不使用rgba(...)值。 如果可能,元素background颜色不应传播到其childs元素(作为内部文本等)。有可能吗?

2 个答案:

答案 0 :(得分:2)

现在,不可能只为颜色设置alpha。

但是对于背景,您可以尝试使用某些技术来模拟它。例如,看看这个小提琴:http://jsfiddle.net/kizu/2sWtH/

有两个测试示例:

  1. 使用额外的帮助程序,其中有未知的背景。
  2. 另一种方式,背景转到原始元素,但需要包含内部内容的另一个元素。
  3. 我已经展示了主要的方法,有很多东西要改进或重新思考:你可以尝试使用伪元素作为第一个例子,或者另外一个额外的元素作为第二个:它只是品味和浏览器的问题兼容性。

    但是如果你想通过js获得计算颜色,那么Lea Verou有一篇很棒的文章(和微服务):http://leaverou.me/2011/09/css-coloratum-convert-and-share-css-colors/

答案 1 :(得分:1)

您可能需要解析颜色,但您可以尝试this作为起点。