7

Internet Explorer 9および10は、CSSルールを使用するときに、ドイツ語のes-zed " ß"(ß、' sz ')を" SS"に正しく変更しませんtext-transform: uppercase;。これは単に実装されていないのですか、それともすべての " ß"を手動で置き換えない方法でなんとかして処理できるバグですか?

4

1 に答える 1

17

これは機能です。CSS 2.1は大文字と小文字の意味を定義せず、IE9はU+ 00DF LATIN SMALL LETTER SHARP S“ß”を処理するため、大文字のマッピングはU + 1E9E LATIN CAPITAL LETTER SHARP S“ẞ”になります(ただし、違いはあります)見づらい場合があります)。これは「標準モード」で発生します。クァークズモードでは、IE9は「ß」を独自の大文字のマッピングとして扱います。

通常の方法は「ß」を「SS」にマップすることであり、大文字の「ẞ」は、単語が大文字である比較的少数の状況でオプションとして使用するために数年前に追加されたため、この機能は奇妙です。 StraussとStraußの名前は保持する必要があります

CSS 3 Text Working Draftは、大文字と小文字のマッピングをUnicodeに従って適用することを指定しており、「ß」を「SS」にマッピングします。それが推奨事項になる場合、その機能はバグになります。

原則として、CSSでケースマッピングを行うことは信頼できません。適切なケースでコンテンツを生成し、必要に応じてサーバー側でマッピングを実行することをお勧めします。その後、特別な場合を個別に処理できます。クライアント側のJavaScriptを使用することもできます。JavaScriptでは、大文字と小文字の変換はUnicodeに対応しています(JavaScriptが十分にグローバル化されている数少ない領域の1つ)。

于 2013-02-24T21:12:17.407 に答える