为父级设置背景不透明度,但不为其子级设置

时间:2015-08-28 21:01:55

标签: javascript jquery css html5 opacity

我以为我想要一些相当简单的东西,但事实证明它并不简单。

我有一个孩子< span>元件。我希望能够(使用javascript / jquery)设置< div>背景的不透明度,但不能设置其中的文本。 div的颜色是用户提供的,可以是HEX值或命名颜色。

创意1 :使用rgba()。如果我只能设置alpha但我不能这样就可以了。所以我需要检查提供的值是否为十六进制或命名颜色,并将其转换为rgb值,这对于一个简单的问题来说似乎太麻烦了。

构思2 :防止跨度从其父级继承不透明度值。但显然,不透明度并没有被继承。它只是应用于整个DOM元素及其子元素,就像它是一个元素一样。

创意3 : 为背景颜色创建一个单独的div,并使其成为span元素的兄弟。这可能会奏效,但在我看来是一个荒谬的解决方案。当我尝试这个时,我遇到了一个问题,迫使我将position: absolute;等css设置应用到我的span和div。这是我不想要的,因为它打破了我应用的其他样式。也许这是可能的,但它是一个如此丑陋的解决方案。

真的没有办法做到这一点吗?

0 个答案:

没有答案