1

よろしくお願いします。

誰かがこの矛盾に気づき、それを修正する方法を知っているかどうか疑問に思っています.

例: http://jsfiddle.net/p5G2N/

前提:

いくつかの単語は、エンコードされていないアンパサンドで結合されています。スペースはありません。

<p>Goodevening&goodnight</p>

結果:

Chrome/IE: 文字をアンパサンドとして解釈できず、意図した大文字のスタイルが崩れます。次のように表示されます: Goodevening&Goodnight [誤り - goodnight の大文字の G に注意してください。これは 1 つの単語であるため、大文字にする必要はありません]

Firefox: エンコードされていないアンパサンドを適切に解釈し、文字列を 1 つの単語として認識します。表示: Goodevening&goodnight [正しい]

質問:

Chrome/IE でスタイリング (大文字) を尊重するにはどうすればよいですか?

4

3 に答える 3

3

&amp 以上で使用する必要&があります。W3仕様から:

作成者は、文字参照 (エンティティ参照の開始区切り文字) の開始との混乱を避けるために、"&amp;"代わりに (ASCII 10 進数 38)を使用する必要があります。文字参照は CDATA 属性値内で許可されているため、作成者は属性値で"&"も使用する必要があります。"&amp;"

于 2013-03-05T16:11:57.117 に答える
2

TL;DR: あなたの予想は間違っています。goodbye&goodnightアンパサンドの両側に 1 つずつ、合計 2 つの単語区切りポイントがあります。アンパサンドがエンコードされているかどうかは関係ありません。


私の知る限り、CSS は「単語」が何であるかを完全には規定していませんが、ここ (UAX29) で見つけることができる Unicode 標準の単語分離アルゴリズムを使用することを推奨しています。

非公式の要約は、単語は一連の文字、数字、または「Connector_Punctuation」記号 (タイ) であり、場合によっては「MidLetter」、「MidNum」、または「MidNumLet」記号 (参照ドキュメントにリストがあります) を含むことです。シンボルの直接のコンテキスト。&はこれらのカテゴリのいずれにも属さないため、UAX29 準拠の単語分離アルゴリズムは、 の前後で単語を分割する必要があります&

単語分離アルゴリズムでは、言語が考慮される場合があります。確かに、それはほぼ何でもできるかもしれませんが、その言語のネイティブスピーカーにとっては驚くべきことではないはずです. プログラマーではないword&word人は、1 つの単語と考えるとおそらく驚くでしょう。

于 2013-03-05T16:38:50.983 に答える
0

&HTML で -symbolを使用する場合は、&amp;代わりに使用してください。

于 2013-03-05T16:10:26.850 に答える