Wil*_*nes 5 unicode cross-browser
我正在制作的网页上使用一些 Unicode 符号。出于本示例的目的,假设是这个人:\'\xe2\x98\xba\'。
\n\n据我了解,在 CSS 的正确实现下,您可以设置您想要的任何字体,如果遇到该字体中不存在的字符,它将开始通过字体系列备份选择回退,直到找到一个有效的。
\n\n鉴于此,我在 css 中设置了如下字体系列:
\n\nfont-family: Tahoma, Helvetica, "Arial Unicode MS", sans-serif\nRun Code Online (Sandbox Code Playgroud)\n\n我的理由是 Tahoma 与 Windows 捆绑在一起。然而,我在网上发现只有某些版本的 Windows 捆绑的 Tahoma 有 Unicode 支持。Helvetica 是一种类似于 Mac 上的 Tahoma 字体。“Arial Unicode MS”与 Office 2000 及更高版本捆绑在一起,并且绝对支持 Unicode。San-serif 是所有情况下的后备,也应该支持 Unicode。
\n\n在大多数情况下,这效果很好。然而,正如往常一样,Internet Explorer 似乎正在破坏我精心设计的计划。我无法弄清楚该模式是什么,因为我在一台运行 Vista 和 IE8 的计算机上看到它,另一台计算机运行 Windows XP 和 IE7,但它在我的带有 IE8/IE7 测试器的 Win7 开发计算机上运行良好/IE6 测试仪。我在一些不起眼的网页上发现了这样的说法:在旧版本的 IE 上,它只会查找它拥有的第一个字体,然后将其用于所有内容,即使该字体缺少给定的符号,但这并不\'不解释为什么它会发生在 Vista/IE8 上。因此,我可爱的 Unicode 符号对某些(但不是所有)IE 用户来说显示为方框。
\n\n在网络上处理 Unicode 符号的推荐方法是什么?它们是否不适用于需要广泛的浏览器兼容性的项目?我是否应该添加专门处理旧版 IE 的代码?还有其他我应该担心的问题情况或平台吗?
\n\n编辑:使用有关失败的系统的新信息进行了更新。
\n您可以在 CSS 文件中使用 IE 覆盖来为旧版本的 Internet Explorer 创建不同的行为。#每个语句之前的覆盖_取决于 Internet Explorer 的版本。
_对于 Internet Explorer 6.0 及更早版本,在 CSS 中的每个语句之前放置一个仅#对于 Internet Explorer 在 CSS 中的每个语句之前放置一个
例子:
//Normal
font-family: Tahoma, Helvetica, "Arial Unicode MS", sans-serif;
// IE 6.0 Earlier
_font-family: Tahoma, Helvetica, sans-serif;
// IE Only
#font-family: Tahoma, Helvetica, "Arial Unicode MS", sans-serif;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2500 次 |
| 最近记录: |