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

时间:2014-09-01 06:51:51

标签: css css3

我在网站上使用了很多颜色,我想对所有文字应用文字阴影,但我想要透明度

现在我使用以下代码来执行此操作

代码:

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

但是它应用了带透明度的黑色,例如,如果颜色为红色,那么我希望文字阴影呈红色并具有透明度。

任何帮助将不胜感激..谢谢..

3 个答案:

答案 0 :(得分:1)

纯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错误地插入渐变。)

答案 1 :(得分:1)

我为我的解决方案编写了小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');
});

Reference stackoverflow Question

答案 2 :(得分:0)

不要指定任何颜色:

text-shadow: 0px 0px 4px;