【发布时间】:2018-03-10 21:17:51
【问题描述】:
我需要更改 div 中元素的不透明度,使其比父元素更具不透明度。如何在没有预处理器的情况下为 .solid 提供完全不透明度 (="1")?
.half-faded {
opacity:0.3;
border:1px solid black;
width:200px;
display:flex;
justify-content:space-around;
}
.solid {
opacity:1; /* doesn't help */
opacity:2; /* twice doesn't help */
}
<div class="half-faded">
<span class="one">One</span>
<span class="two">Two</span>
<span class="solid">Solid</span>
<span class="four">Four</span>
</div>
【问题讨论】:
-
你没有。您应该使元素本身具有不透明度并按项目进行更改。如果您希望背景清晰,请使用
RGBA或HSVA -
当你改变一个容器的不透明度时,你改变的是整个容器,包括孩子。半透明容器的用途是什么?如果它只是为了半透明的外观,那么按照@Jhecht 的建议进行操作。否则,如果您有这样做的具体原因,请告诉我们。
-
如果父级的不透明度为 0.3,则子级“似乎”拥有的最大不透明度为 0.3。我用引号写“似乎”,因为实际上孩子的不透明度为 1(即默认值),这就是为什么将它设置为 1(或 2,这是一个无效值),正如你所尝试的那样,没有用。跨度>
-
你们,我加入
opacity:2;只是为了双关语:))感谢您的回答。问题是我在该父 div 中有imgs、spans、divs 等在divs内,我必须单选一个项目并更改其不透明度。更改单个元素的不透明度对于 UI 和后端来说都是一场噩梦,我希望能够快速解决。感谢您指出没有:)