首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS覆盖rgba透明

CSS覆盖rgba透明
EN

Stack Overflow用户
提问于 2015-06-24 03:03:10
回答 3查看 65关注 0票数 5
代码语言:javascript
复制
<!doctype>
<html>
<head>
    <style>
        div {
           background:rgba(0,255,255,0.3);
        }
        #div1 {
           width:300px;
           height:300px;           
        }
        #div2 {
           width:200px;
           height:200px;          
        }
    </style>
</head>
<body>
    <div id="div1"><div id="div2"></div></div><br/>
</body>

div2的实际计算透明度是多少?我很困惑。它是一个非0.3+0.3或0.3+0.3*0.3的未知数

EN

回答 3

Stack Overflow用户

发布于 2015-06-24 04:15:49

alpha通道的总和可以计算为:

alpha_top + alpha_bottom * (1 - alpha_top) =

0.3 + 0.3 * (1 - 0.3) =

0.3 + 0.3 * 0.7 =

0.3 + 0.21 =

0.51

有关详细说明,请参阅Alpha Compositing @ wikipedia,其中列出的公式如下:

这本质上是相同的公式used by Bogdan Kuštan,它也可以在this answer by bwoebi中找到。

票数 6
EN

Stack Overflow用户

发布于 2015-06-24 03:07:17

因为你已经在div{}中应用了不透明度,所以这将是#div1{}.3#div2{}.3 * .3 = .09,因为#div1有不透明度值.3,#div2也使用不透明度,但当前持有.3,所以它将被乘以子对象。

票数 0
EN

Stack Overflow用户

发布于 2015-06-24 03:58:40

它的

(0.3 + 0.3) - (0.3 * 0.3) = 0.51

首先,您需要添加重叠的透明度值,并减去它们的乘法。为什么?我不知道。我不知道我是怎么知道的,它只是从PhotoShop到CSS的字母间距中的一个,你需要从1000除以PS值,然后你得到ems的值。抱歉,我离题了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31011297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档