设置为0时显示Chrome文本阴影

时间:2013-09-15 19:50:18

标签: css google-chrome css3

所以,我正在建立一个网站设计师,我遇到了一些奇怪的事情,如果你在一个元素上设置了text-shadow: 0 0 0 someColor阴影实际应用,我已经做了一个小提琴这里非常清楚 FIDDLE

这是一个错误吗? enter image description here

5 个答案:

答案 0 :(得分:4)

这不是一个错误,因为它不是规范的错误实现;规范暗示只要计算值不是none,就会生成阴影。可以计算为none值为noneinitial

文本阴影的绘制方式与框阴影类似。因此,文本阴影的大部分行为都遵循box shadows的规范。在任何一个规范中都没有说明全零的值不会产生阴影。它说的是,任一属性都可以采用两个可能的值之一:none,或者一个或多个<shadow>值组的逗号分隔列表,每个值对应一组值:in text-shadow的情况,its own spec中给出的[ <length>{2,3} && <color>? ]#。只要您的值不是none,任何规范都会假定将绘制阴影并根据该假设指定所有行为。

对于这两个属性,即使你没有指定颜色,两个规范都规定应该使用currentColor(它在散文中说它是“取自color属性”或“产生的阴影颜色“;代码中的结果为currentColor)。

由于阴影始终是为none以外的值绘制的,并且零长度会产生与文本大小完全相同的阴影,因此这里发生的情况可能是合成两个或更多层的结果由于字形和阴影的抗锯齿而产生的半透明像素(如评论中所述)。这不仅适用于文本阴影,也适用于框阴影,其典型示例位于a box with rounded corners,其中唯一的抗锯齿提示是圆角本身,而不是框的直边。这也发生在所有浏览器中,至少基于测试和之前的经验。

尽管如此,如果你绝对不能接受none作为值,你总是可以为颜色指定transparent。阴影仍将被绘制,但由于它完全透明,you won't see it

答案 1 :(得分:1)

如果你想删除文字阴影,我建议设置text-shadow:none;

text-shadow:none;

答案 2 :(得分:0)

  

      可选的。这是一个价值。如果未指定,则默认为0.此值越大,模糊越大;阴影变成了   更宽更轻。

设置为零时,blur属性不表示没有模糊。 https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow

答案 3 :(得分:0)

text-shadow:0px 0px 0px #FFFFFF;这些属性不适用于隐藏或显示。将阴影向上移动,向右移动阴影,模糊等级0清晰。

如果你想隐藏Shadow Then:写“text-shadow:;”但是不要设置它应该为空的任何值。

抱歉英语不好:)

答案 4 :(得分:0)

如果你正在构建一个页面构建器并想要初始的“空”值(它们不是空的,前两个零表示定位,最后两个模糊)你可能只想将颜色设置为默认值元素背景颜色。或者您可以将模糊值更改为-1。

text-shadow: 0 0 -1px red;

我能想到的另一个选择是让它们启用text-shadow然后使用if else语句输入你的0 0 0 red。伪代码:

if text-shadow option is checked
    use text-shadow:0 0 0 red;

else
    use text-shadow:none;
祝你好运。