【问题标题】:How does transparency in rgba work?rgba 的透明度如何工作?
【发布时间】:2018-11-29 19:40:15
【问题描述】:

我最近了解了 rgba 用于在 css 中设置颜色。我很好奇透明通道的技术方面是否真的有效。

例如,如果我将两个单独的标题的值设置为 rgba(15, 34, 160, 1) 和 rgba(15 34, 160, 0.5),那么它们被称为具有相同的颜色,但是具有不同的不透明度值。我想知道的是这些颜色是否实际上相同。我的意思是,就从像素出来的光而言,它们肯定是不同的,以便创建两种不同的标题外观。这是否意味着 alpha 值实际上是用来以某种特定方式改变颜色的?

干杯!

【问题讨论】:

  • 很简单,如果你设置opacity:0.5这意味着标题将与页面背景颜色混合50% / 50%。

标签: css rgba


【解决方案1】:

因为你可以“半看”半透明元素后面的元素颜色,所以它会和那个颜色混合(如果背景是白色的,它会显得更亮,如果是黑色,它会变暗,如果它是另一种颜色也会有多种颜色的混合。

所以,从技术上讲,它是具有不同透明度的相同颜色,但感知的结果将是不同的颜色(除非偶然透明元素后面的元素具有相同的颜色)

【讨论】:

    【解决方案2】:

    RGB 值是一种颜色,RGBA 值是一种颜色加上透明度。当您将其覆盖在彩色背景上时,可能会产生不同的外观颜色。所以是的,它们是相同的颜色,但可能会根据它们所在的位置产生不同的颜色。

    【讨论】:

      【解决方案3】:

      看看这个JSFiddle

      使用看起来像这样的顶部 CSS 属性:

      background-color: rgba(225, 225, 225, 0.7);
      

      最后一个值是从 0 到 1 测量的不透明度(与透明度相反)。0 表示完全透明,1 表示完全不透明。前三个值就像一个常规的 rgb() CSS 属性。

      【讨论】:

        【解决方案4】:

        通过设置 RGBA 颜色值。您实际上只是在设置颜色和单独的不透明度值。这可以通过使用 RGB 设置颜色,然后使用 opacity 分别设置不透明度来实现,但 RGBA 将两者组合成一个函数。使用 RGBA 会更短,但分别设置 RGBA 和不透明度可以让您分别控制值。

        因此,您的两个示例为颜色设置了相同的值,但对该颜色应用了两个不同级别的不透明度。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-04-29
          • 2013-09-29
          • 2014-10-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多