IE中的文字阴影,替代品

时间:2009-11-18 22:38:06

标签: internet-explorer fonts shadow

我需要在IE中使用内联,长文,段落文字的文字阴影。我理解渐进增强,但情况有所不同。我绝对需要文本阴影,这不是设计问题,而是我的应用程序功能的核心。

在任何情况下,IE都不支持CSS text-shadow。有哪些替代方案?我知道有些字体的轮廓会产生与文字阴影相似的效果,但IE是否支持网页不安全的字体?

动态图像替换怎么样?这是一个可行的策略吗?考虑到文本的长度,我想的可能不是。

有没有人有任何建议?我也考虑过强制谷歌镀铬框架,但如果没有其他可行的策略,这是最后的手段。

感谢。

3 个答案:

答案 0 :(得分:0)

我认为,根据您的核心要求,Flash是您最好的。我不确定SIFR是否支持阴影,但值得研究。

对于您的用户而言,这肯定比强制使用Chrome框架更便宜。

编辑:

看起来SIFR在这方面非常灵活:

http://fortysevenmedia.com/blog/archives/sifr_3_hard_drop_shadows/

更有希望,除非我弄错了,看起来它可能在IE中得到支持:

http://msdn.microsoft.com/en-us/library/ms533086%28VS.85%29.aspx

这样:

.className {
    filter:progid:DXImageTransform.Microsoft.Shadow(color=#0000FF,direction=45);
}

答案 1 :(得分:0)

我认为你应该使用真正的字体(.ttf)字体并将其转换为.eot。然后通过java脚本在你的html中进行反思就像这样:

<style type="text/css">
@font-face {
 font-family: MyCustomFont;
 font-size:10.0pt;
 src: url("fontname_free.eot");/* EOT file for IE */
}
@font-face {
 font-family: MyCustomFont;
 font-size:10.0pt;
 src: url("fontname_free.ttf") format("truetype");/* TTF file for CSS3 browsers */
}

然后在你的实际html中你引用了style属性中的字体,如下所示:

你可以在这里转换.ttf到.eot,并进一步解释它是如何工作的http://www.kirsle.net/wizards/ttf2eot.cgi

答案 2 :(得分:0)

我刚刚将它用于IE中的文本阴影:

p { zoom: 1; background-color: *Your background colour*; -ms-filter: "progid:DXImageTransform.Microsoft.Chroma(Color=*Your background colour*) progid:DXImageTransform.Microsoft.DropShadow(Color=#000, OffX=1, OffY=1)";  filter: progid:DXImageTransform.Microsoft.Chroma(Color=*Your background colour*) progid:DXImageTransform.Microsoft.DropShadow(OffX=1, OffY=1, Color=#000);
}

我唯一担心的是,如果用户在PC上更改了文本呈现,那么它现在将非常漂亮。如果我不加粗文本,我的结果还不错,但是一旦我这样做就会变得僵硬。

我可能只是在IE中留下文字阴影但是如何S **!是......哈哈