0

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

无论如何,IE 都不支持 CSS text-shadow。有哪些替代方案?我知道有些字体的轮廓会产生与文本阴影类似的效果,但 IE 是否支持网络不安全字体?

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

有没有人有什么建议?我也考虑过强制使用 google chrome 框架,但如果没有其他可行的策略,这是不得已而为之的事情。

谢谢。

4

3 回答 3

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);
}
于 2009-11-18T22:48:55.453 回答
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 中,您引用样式属性中的字体,如下所示:

您可以在此处从 .ttf 转换为 .eot,并进一步了解其工作原理http://www.kirsle.net/wizards/ttf2eot.cgi

于 2009-11-27T14:15:28.633 回答
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**!那是……哈哈

于 2011-08-03T14:17:53.593 回答