文本阴影与字体颜色相同,具有透明度



我在网站中使用了许多颜色,我想对所有文本应用文本阴影,但我希望它具有透明度

现在我用下面的代码来做

代码:

body{
    text-shadow: transparent 0 0 0, rgba(0,0,0, 0.75) 0 0 0.001px;
}

但它应用黑色和透明,例如,如果颜色是红色,所以我想要文本阴影红色和透明。

任何帮助都将不胜感激。。非常感谢。

在纯CSS中,不可能有一个引用任意alpha值的现有颜色值的颜色值。最接近的颜色是currentColortext-shadow已将其用作默认颜色),但currentColor也采用现有的alpha值,不允许指定自定义alpha值。

您需要在文本阴影中再次指定颜色值,因此如果是红色:

text-shadow: rgba(255, 0, 0, 0) 0 0 0, rgba(255, 0, 0, 0.75) 0 0 0.001px;

(我避免使用transparent关键字,因为已知一些浏览器会使用transparent错误地插入梯度。)

我为我的解决方案编写小型jQuery函数

$("p").each(function() {
    textShadow = $(this).css("color").replace(')', ', 0.75)').replace('rgb', 'rgba');
    $(this).css('text-shadow', 'rgba(255, 0, 0, 0) 0 0 0, ' + textShadow + ' 0 0 0.001px');
});

参考stackoverflow问题

只是不指定任何颜色:

text-shadow: 0px 0px 4px;

最新更新