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

空白でインデントするのは悪い考えです。margin-left代わりにCSSを使用してください。

于 2012-09-10T15:14:16.790 に答える