【发布时间】:2019-02-14 00:48:24
【问题描述】:
问题:
子元素和它的容器都有一个透明的背景颜色。如果子元素在容器内,则子元素的颜色将根据父元素的颜色计算。我应该怎么做才能保持两者的透明度,同时使子背景颜色与我指定的颜色完全相同。
例如:
我有一个全屏背景图片。
还有一个div,里面有子元素。
<div class="container">
<input class="mask-moderate__input" />
<button class="mask-moderate__button"></button>
</div>
每种样式都定义了一个 rgba 背景。
这可能会以某种方式描绘这种情况。左边的“颜色2”是我想要的,因为我没有放在容器中,它的颜色rgba(90, 90, 90, 0.35)是直接根据背景计算出来的。但是如果我在 div 中写元素(如在标题栏中),则 bg 颜色将根据 div 的 bg 颜色rgba(55, 55, 55, 0.35) 计算,这不是我想要的。
可能的解决方案:
执行线性闪避。只需根据 div 的 bg 颜色添加 rgb delta 并保持 alpha 不变,这样 (55, 55, 55, 0.35) + (35, 35, 35) = (90, 90, 90, 0.35)
在
div中填写但保留特定区域。 (不要填充元素正上方的区域)脚本方式。
注意:
我正在开发一个 Angular 6 项目。也欢迎任何超出 vanilla JS 范围的解决方案。
谢谢!
【问题讨论】:
-
你能说明一下你想要的效果吗?
-
用透明的颜色填充容器,除了放置元素的区域。
-
你能画出它的样子吗?
-
抱歉没有说清楚。我更新了图片,希望它有助于阐明我的目的。
标签: html css user-interface web-frontend