我需要在IE中使用内联,长文,段落文字的文字阴影。我理解渐进增强,但情况有所不同。我绝对需要文本阴影,这不是设计问题,而是我的应用程序功能的核心。
在任何情况下,IE都不支持CSS text-shadow。有哪些替代方案?我知道有些字体的轮廓会产生与文字阴影相似的效果,但IE是否支持网页不安全的字体?
动态图像替换怎么样?这是一个可行的策略吗?考虑到文本的长度,我想的可能不是。
有没有人有任何建议?我也考虑过强制谷歌镀铬框架,但如果没有其他可行的策略,这是最后的手段。
感谢。
答案 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 **!是......哈哈