CSS content
プロパティを使用してHTMLエンティティを追加するにはどうすればよいですか?
このようなものを使用する
と、非分割スペースの代わりに画面に出力されます:
.breadcrumbs a:before {
content: ' ';
}
CSS content
プロパティを使用してHTMLエンティティを追加するにはどうすればよいですか?
このようなものを使用する
と、非分割スペースの代わりに画面に出力されます:
.breadcrumbs a:before {
content: ' ';
}
エスケープされた unicode を使用する必要があります:
お気に入り
.breadcrumbs a:before {
content: '\0000a0';
}
詳細: http://www.evotech.net/blog/2007/04/named-html-entities-in-numeric-order/
CSS は HTML ではありません。 HTML
の名前付き文字参照です。10 進数字参照に相当します 
。160 は、Unicode (またはUCS-2 ; HTML 4.01 仕様を参照)の文字の 10 進コード ポイントです。そのコード ポイントの 16 進表現は U+00A0 (160 = 10 × 16 1 + 0 × 16 0 ) です。それは Unicode Code Charts and Character Databaseにあります。NO-BREAK SPACE
CSS では、そのような文字に Unicode エスケープ シーケンスを使用する必要があります。これは、文字のコード ポイントの 16 進値に基づいています。だからあなたは書く必要があります
.breadcrumbs a:before {
content: '\a0';
}
これは、エスケープ シーケンスが文字列値の最後にある限り機能します。文字が続く場合、誤解を避けるには 2 つの方法があります。
a)(他の人が言及)エスケープシーケンスには正確に6桁の16進数を使用してください:
.breadcrumbs a:before {
content: '\0000a0foo';
}
b) エスケープ シーケンスの後に 1 つの空白文字 (スペースなど) を追加します。
.breadcrumbs a:before {
content: '\a0 foo';
}
(f
は 16 進数なので、\a0f
そうでなければGURMUKHI LETTER EE
ここを意味するか、適切なフォントがあれば ਏ を意味します。)
区切りの空白は無視され、これが表示されます。 foo
ここに表示されるスペースはNO-BREAK SPACE
文字になります。
空白のアプローチ ( ) には、6 桁のアプローチ ( )'\a0 foo'
よりも次の利点があります。'\0000a0foo'
したがって、エスケープ文字の後にスペースを表示するには、スタイルシートで2 つのスペースを使用します –</p>
.breadcrumbs a:before {
content: '\a0 foo';
}
– または明示的にする:
.breadcrumbs a:before {
content: '\a0\20 foo';
}
詳細については、CSS 2.1 のセクション「4.1.3 文字と大文字と小文字の区別」を参照してください。
更新: PointedEars は
、すべての css 状況での正しいスタンドは
'\a0 '
、スペースが 16 進文字列のターミネータであり、エスケープされたシーケンスによって吸収されることを意味すると述べています。彼はさらに、この信頼できる説明を指摘しました。これは、私が説明し、以下で修正した問題に対する適切な解決策のように思えます。
あなたがする必要があるのは、エスケープされたユニコードを使用することです。あなたが言われたことにもかかわらず、 CSS 内\00a0
の完全な代役ではありません。
だから試してください:
content:'>\a0 '; /* or */
content:'>\0000a0'; /* because you'll find: */
content:'No\a0 Break'; /* and */
content:'No\0000a0Break'; /* becomes No Break as opposed to below */
具体的には as を使用\0000a0
し
ます。mathieuとmillikinが示唆するように、試してみると:
content:'No\00a0Break' /* becomes No਋reak */
B を 16 進エスケープ文字に取り込みます。同じことが 0-9a-fA-F でも発生します。
CSS では、HTML エンティティの代わりに Unicode エスケープ シーケンスを使用する必要があります。これは、文字の 16 進値に基づいています。
シンボルを同等の 16 進数に変換する最も簡単な方法は、Microsoft 電卓を使用する▾
ことです ( ▾ ( )など)。\25BE
はい。プログラマー モードを有効にし、10 進法をオンにして、 と入力9662
し、次に 16 進に切り替えると、 が得られます25BE
。\
次に、先頭にバックスラッシュを追加します。
非改行スペースには 16 進コードを使用します。このようなもの:
.breadcrumbs a:before {
content: '>\00a0';
}