ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?