ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
HTML の空白圧縮ルール
HTML パーサは連続する空白文字 (スペース / タブ / 改行) を 1 つの半角スペースに圧縮します。これは仕様 (CSS の white-space: normal) によるもの:
<!-- ❌ ソース上で 5 つスペースを入れても -->
<p>Hello World</p>
<!-- 表示は: "Hello World" (1 つに) -->
<!-- 改行も圧縮 -->
<p>Hello
World</p>
<!-- 表示は: "Hello World" -->
方法1: (Non-Breaking Space)
もっとも基本。圧縮されず、改行もされない半角スペース:
<!-- 連続スペース表現 -->
<p>Hello World</p>
<!-- 表示: "Hello World" (5 つのスペース) -->
<!-- 行頭インデント -->
<p> インデント文字</p>
<!-- 単位や数値の改行禁止 -->
<p>合計 1,000 円</p>
<!-- 「1,000」と「円」の間で改行されない -->
各種空白文字
| エンティティ | 名前 | 幅 | 用途 |
|---|---|---|---|
| Non-Breaking Space | 通常の半角スペース幅 (U+00A0) | 改行禁止スペース |
  | En Space | 1/2 em (U+2002) | 欧文の中スペース |
  | Em Space | 1 em (U+2003) | 欧文の広いスペース |
  | Thin Space | 1/6 em (U+2009) | 細い区切り |
  | Hair Space | 極細 (U+200A) | 装飾的に狭く |
&zwsp; | Zero-Width Space | 0 (U+200B) | 改行可ポイントを作る (見えない) |
  または「 」 | Ideographic Space | 全角 1 文字 (U+3000) | 日本語の全角スペース |
方法2: <pre> タグ
<pre> 内では空白も改行もそのまま保持されます。コード片や ASCII アート向け:
<pre>
function hello() {
if (cond) {
return "many spaces";
}
}
</pre>
<!-- インデントもスペースも改行もすべて保持 -->
方法3: CSS white-space
CSS で空白の扱いを制御するのが現代的な解決法:
| white-space 値 | 連続空白 | 改行 | 自動折り返し |
|---|---|---|---|
normal (既定) | 圧縮 | 圧縮 | する |
nowrap | 圧縮 | 圧縮 | しない (1 行に固定) |
pre | 保持 | 保持 | しない |
pre-wrap | 保持 | 保持 | する ★ 推奨 |
pre-line | 圧縮 | 保持 | する |
break-spaces | 保持 | 保持 | する (行末空白も改行可) |
/* テキストエリアやコードブロックでよく使う */
.code {
white-space: pre-wrap; /* 改行 + 空白保持、行末で折り返す */
font-family: monospace;
}
/* タグ風表示で改行禁止 */
.tag {
white-space: nowrap;
display: inline-block;
padding: 2px 8px;
}
/* チャット風 (改行は保持、空白は圧縮) */
.message {
white-space: pre-line;
}
JavaScript での空白挿入
// textContent はそのまま表示 (HTML エンティティは効かない)
el.textContent = 'a b'; // 表示: "a b" (圧縮される)
// innerHTML なら HTML エンティティが効く
el.innerHTML = 'a b'; // "a b"
// Unicode で直接書く
el.textContent = 'a b'; // U+00A0 を直接
// 全角スペース
el.textContent = 'a b'; // "a b"
// 改行
el.textContent = 'line 1\nline 2'; // textContent では \n が改行扱いされない
// → CSS で white-space: pre or el.innerHTML = 'line 1<br>line 2'
用途別のおすすめ
| やりたいこと | 推奨 | 避けるべき |
|---|---|---|
| 余白を作りたい (装飾) | CSS padding / margin | 連打 |
| テーブルや桁揃え | CSS Grid / table | 連打 |
| 「1,000 円」を改行させない | 1 個 or white-space: nowrap | — |
| コードを表示 | <pre><code> | — |
| ユーザ入力をそのまま表示 | white-space: pre-wrap | innerHTML (XSS リスク) |
| 長い単語の折り返し | word-break: break-word | — |
アクセシビリティ・SEO 上の注意
- を装飾目的で多用しない — スクリーンリーダーが余分に読み上げる、検索エンジンも単語分割に失敗する
- 段落の余白は CSS
margin/paddingで表現 - 桁揃えは表 (
table/ CSS Grid) で表現 - 「ふ り が な」のような装飾はletter-spacing で
/* 文字間隔を空ける (空白を入れない) */
.spaced {
letter-spacing: 0.5em;
}
/* インデント */
.indent {
text-indent: 2em;
}
FAQ
Q: 全角スペースと nbsp の違いは?
A: は半角幅のスペース、全角スペース (U+3000、「 」) は全角文字幅。日本語文中の見栄えなら全角スペースの方が自然なケースが多い。
Q: 半角スペースを直接書いても表示される場合がある
A: <textarea> や <pre> 内、または CSS white-space: pre/pre-wrap 適用済要素では保持されます。
Q: 改行を半角スペースに置き換えるには?
A: JavaScript で str.replace(/\n+/g, ' ') / CSS では white-space: normal がデフォルトでそうなる。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?