使用em而不是px来设置text-shadow?

4

I have a simple

text-shadow: 0.05em 0.05em 0.05em black;

我在谷歌浏览器中打开,一点阴影都没有! 我将其更改为

text-shadow: 1px 1px 1px black;

它运行正常!有什么问题吗?


真是太愚蠢了,我在谈到 em 计量单位时没有告诉你我的字体大小。谢谢大家! - batman
我总是忘记必须在单位后指定一个大小,所以我输入 em 后我的 CSS 被忽略了,因此我没有阴影。当我写上 1em 时,它就可以工作了。 :) - combinatorist
4个回答

7

0.05em是一个太小的值,导致阴影落在文字后面。试着稍微增加一点数值-http://jsfiddle.net/zd4qF/

更新

在Firefox中使用.05em的代码确实可以运行,但在Chrome中不行。这是因为浏览器的舍入逻辑不同- Firefox将任何小于1px的值四舍五入为1px,而Chrome向下舍入为0


解释为什么我的Firefox中的阴影往往会更大。 - batman

2
如果您点击下面的链接,您可以看到em像素之间的转换率。由于您要求的0.05em比1px小得多 :)

http://pxtoem.com/

例如:

1像素 应该大约是 0.063em,这使得0.05 em 小于 1像素,因此小于任何您可以显示的内容。


1

由于值太低,因此它不可见。em与字体大小成比例。字体越小,使用em声明的所有内容都会变得更小。

以下是具有不同字体大小的示例。在此示例中,当字体大小为48pt时,可以看到0.5em,但在12pt时则无法看到。请参见http://jsfiddle.net/JwNbj/1/


0

EM是一个相对属性,取决于在body元素中定义的字体大小或者当您也定义为相对大小时,它取决于用户浏览器选项中定义的选项。 当您的字体大小为20px时,1px将为0.05em。祝好。


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