1

我在我的按钮中使用 HTML 字符代码来阻止右箭头。

代码非常简单:

<a href="#" class="button aqua">Details &#x25B6;</a>

方块箭头如下所示: ▶

字体为 Arial:font: 11pt Arial, Helvetica, sans-serif;

我的编码是 UTF-8:<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />我使用的是 XHTML 1.0 过渡文档类型。

在 IE 8 中,我只看到一个小边框框,指示未找到字符。箭不见了。知道如何让 IE8 识别这一点,或者选择适当的字体/字符集吗?

作为替代方案,我打算&rqauo;使用 jQuery 将字符替换为(直角引号:»,受 IE8 支持)。但是,我使用的是 v1.9,它取消$.browser$.support.x. 有什么方法可以检测正在渲染的字体/字符集?

提前感谢您的建议。

4

2 回答 2

7

通常,为了最大化显示特殊字符的几率,您应该声明一个font-family已知包含它的字体列表,并包含在不同系统中可用的字体。请参阅在 HTML 中使用特殊字符的指南

对于字符“▶”U+25B6 BLACK RIGHT-POINTING TRIANGLE,Fileformat.info 上的字体支持页面提到了 Arial Unicode MS 和 Lucida Sans Unicode,以及一些 Windows 系统上通常不安装的字体。Arial Unicode MS 随 Microsoft Office 和其他一些软件一起提供,而 Lucida Sans Unicode 自 Windows XP 以来随 Windows 一起提供。所以你应该使用例如

<style>
.triangle { font-family: Lucida Sans Unicode, Arial Unicode MS, sans-serif; }
</style>
[...]
<a href="#" class="button aqua">Details <span class=triangle>&#x25B6;</span></a>

这应该可以解决 IE 的问题。但是,出于某种奇怪的原因,当我在(虚拟)Windows XP 上的 IE 6 中测试它时,它失败了:字符仍然显示为一个框。我不知道为什么,但 IE 6 中的字符渲染通常是非常错误的。如果您真的想最大化显示符号的几率,请使用图像。

于 2013-06-15T12:59:47.567 回答
1

哇,简直不敢相信它会这么简单。仍然欢迎其他替代方案,但这似乎适用于 IE8。

将首选字体设置为 Arial 的 Unicode 版本:Arial Unicode MS

font: 11pt "Arial Unicode MS", Arial, Helvetica, sans-serif;

于 2013-06-15T02:02:29.867 回答