html要素のtextContent内の「&nbsp」

 

あるwebページのspan要素を

開発者ツールでinspectしてみると


次のようになっていました。

<span>"span_text_content&nbsp;"</span>


上記のタグのtextContentのうちの

「&nbsp;」というのはどのような意味があるのでしょうか


以前 swiftかkotlinのコードで

&grtで始まる文字は

半角の<がタグの開始位置を表すことが理由で


このような表記をする、ということを学んだ気がするのですが・・・




`&nbsp;` は、

HTMLの特殊文字エンティティの一種で、

「ノーブレークスペース(non-breaking space)」を意味します。


これは通常の空白(スペース)と異なり、

行が折り返されても分割されないスペースです。



### 特殊文字エンティティとは


HTMLでは、特定の文字

(例えば `<`, `>`, `&` など)をそのまま使うと、

HTML構文として解釈されてしまうため、

これらを文字として表現するためにエンティティが使われます。



- `&lt;` → `<`(less than、開く角括弧)


- `&gt;` → `>`(greater than、閉じる角括弧)


- `&amp;` → `&`(アンパサンド)


- `&nbsp;` → ノーブレークスペース



### ノーブレークスペースの用途


- **文字間隔の調整**: 

通常のスペースとは異なる幅で文字を配置する際に使用します。



- **折り返し防止**: 

例えば、名前と姓の間や数値と単位の間など、

分割して表示したくない場所で使用されます。


### あなたのSwiftやKotlinの経験との関連性


おそらく、SwiftやKotlinで扱った `&lt;`,

 `&gt;` のようなHTMLエンティティは、

 HTML内で特殊文字を表現するための仕組みを示していました。


例えば:


- `<` → `&lt;`

(「タグの開始位置を表す」という意味で直接 `<` を書けない場合)



- `>` → `&gt;`

(「タグの終了位置を表す」際の同様の理由)


これと同様に、`&nbsp;` も

文字としての「ノーブレークスペース」を表現するために

HTMLエンティティとして記述されています。


コメント