4

我拼命地尝试向列表元素添加一些空格(下面的简化版本)

<ul>
  <li>&zwnj;&#160;&#160;A1</li>
  <li>&zwnj;&#160;&#160;&#160;&#160;A1.1</li>
  ...
</ul>

我的问题是,IE7 忽略了空格,所以我添加了零宽度非连接符 ( &zwnj;)。下一个问题来了。IE7 将其渲染&zwnj;为管道(垂直条)。

任何提示我如何解决这个问题?我的目标是打算使用空格(或其他)的列表元素。

4

2 回答 2

2

从技术上讲,IE 7 显示“管道”的原因是它表示了一个不可表示的字符。IE 7 不知道 ZWNJ 是一个控制字符并试图在字体中找到它,这对于大多数字体来说都失败了。您可以通过将字体设置为包含 ZWNJ 的字体来规避这种情况,例如

li { font-family: "Arial Unicode MS", "Lucida Sans Unicode" }

这当然会影响一般字体,但您可以将 ZWNJ 字符包装在span元素内并仅在它们上设置样式。

然而,这看起来是一种完全错误的方法。ZWNJ 可防止连字行为,此处根本不需要。IE 将不间断空格视为不可折叠(正如您可以通过单独测试代码看到的那样)。如果没有,那么还有其他事情发生,从您发布的代码中看不到。

于 2012-09-10T17:08:11.107 回答
1

用空格缩进是个坏主意。改用 CSS margin-left

于 2012-09-10T15:14:16.790 回答