CSS不透明度只应用于背景颜色,而不是文本吗?

989

我可以仅将opacity属性分配给divbackground属性,而不是应用于其上的文本吗?

我已经尝试过:

background: #CCC;
opacity: 0.6;

但这并没有改变不透明度。


4
要使用跨浏览器方法,请参见我之前给出的回答:https://dev59.com/42445IYBdhLWcg3wkLPU#4792173。它基本上是 rgba,但可以在任何地方运行。 - thirtydot
3
这个问题是在一月份提出的--https://dev59.com/93RB5IYBdhLWcg3wZWbi。 - slifty
1
这里有一个关于一月份的同样问题:https://dev59.com/am445IYBdhLWcg3wl7TW - danicotra
11个回答

-29

你不能这样做。你必须要有一个独立的 div 来作为背景,这样你才能只对它应用透明度。

我最近尝试做了一下,既然我已经在使用 jQuery 了,我发现以下是最方便的:

  1. 创建两个不同的 div。它们将是兄弟节点,互相不包含。
  2. text div 一个实心的背景颜色,因为这将是没有 JavaScript 的默认设置。
  3. 使用 jQuery 获取 text div 的高度,并将其应用到 background div 上。

我相信肯定有某种 CSS 忍者的方式可以只使用浮动之类的东西来完成所有这些操作,但我没有耐心去弄明白它。


14
"background: rgba(54, 25, 25, .5);" 可能是你所说的 CSS 忍者。 :) - Ruchan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接