我以为我想要一些相当简单的东西,但事实证明它并不简单。
我有一个孩子< span>元件。我希望能够(使用javascript / jquery)设置< div>背景的不透明度,但不能设置其中的文本。 div的颜色是用户提供的,可以是HEX值或命名颜色。
创意1 :使用rgba()。如果我只能设置alpha但我不能这样就可以了。所以我需要检查提供的值是否为十六进制或命名颜色,并将其转换为rgb值,这对于一个简单的问题来说似乎太麻烦了。
构思2 :防止跨度从其父级继承不透明度值。但显然,不透明度并没有被继承。它只是应用于整个DOM元素及其子元素,就像它是一个元素一样。
创意3 :
为背景颜色创建一个单独的div,并使其成为span元素的兄弟。这可能会奏效,但在我看来是一个荒谬的解决方案。当我尝试这个时,我遇到了一个问题,迫使我将position: absolute;
等css设置应用到我的span和div。这是我不想要的,因为它打破了我应用的其他样式。也许这是可能的,但它是一个如此丑陋的解决方案。
真的没有办法做到这一点吗?