是否可以,仅使用CSS,使background
元素半透明但元素的内容(文本和图像)不透明?
我想在不将文本和背景作为两个单独元素的情况下实现此目的.
尝试时:
p {
position: absolute;
background-color: green;
filter: alpha(opacity=60);
opacity: 0.6;
}
span {
color: white;
filter: alpha(opacity=100);
opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)
<p>
<span>Hello world</span>
</p>
Run Code Online (Sandbox Code Playgroud)
看起来子元素受父母的不透明度影响,因此opacity:1
相对于opacity:0.6
父元素而言.
我知道你可以写...
background-color: #ff0000;
Run Code Online (Sandbox Code Playgroud)
......如果你想要一些红色的东西.
你可以写......
background-color: rgba(255, 0, 0, 0.5);
Run Code Online (Sandbox Code Playgroud)
...如果你想要一些红色和半透明的东西.
有没有简洁的方法用十六进制编写部分透明的颜色?我想要的东西:
background-color: #ff000088; <--- the 88 is the alpha
Run Code Online (Sandbox Code Playgroud)
... 要么 ...
background-color: #ff0000 50%;
Run Code Online (Sandbox Code Playgroud)
我以十六进制获取所有颜色,并且必须将它们全部转换为十进制0-255刻度是令人讨厌的.