CSSインデントの完全ガイド | text-indentと文字間隔の違いも解説
プログラミング
公開日: 2026/03/05
目次
※この記事にはプロモーションを含みます
はじめに
CSSでインデントを設定したいものの、 「html インデントとの違いが分からない」「text-indentの使い方が正しいのか不安」 と感じていないでしょうか。段落の先頭を下げる処理は一見シンプルに思えますが、文字間隔や余白との違いを正しく理解していないと、意図しないレイアウト崩れを招く可能性があります。
特に実務では、デザインカンプ通りの再現やレスポンシブ対応まで求められるため、単なるプロパティの暗記では不十分です。
本記事では、css インデントの基礎からtext-indentの具体的な指定方法、関連プロパティとの違い、実務で活用できる設計視点までを体系的に解説します。
CSSインデントとは?基本概念を理解する
インデントの役割と目的
インデントとは、段落の先頭位置を水平方向にずらすことを指します。主な目的は以下の通りです。

- 段落の始まりを読者に分かりやすく伝え、構造を明確にする
- 文章のまとまりを視覚的に示すことで可読性を高める
- 紙媒体のレイアウトをWebで再現する
Webページにおいても、読みやすさはユーザー体験に直結します。特に長文コンテンツやコラム記事では、適切なインデント設計が離脱率の低減につながります。
html インデントとの違い
「html インデント」という検索があるように、HTMLの記述上のインデント(ソースコードの字下げ)と、表示上のインデントを混同しているケースが多く見受けられます。
- HTMLインデント:コードの可読性向上が目的
- CSSインデント:画面表示上のデザイン制御が目的
HTMLのスペースやタブは、ブラウザ表示には基本的に反映されません。表示上の字下げは、必ずCSSで制御する必要があります。
段落デザインにおける重要性
段落の先頭を適切に下げることで、文章のまとまりが明確になります。特に以下のケースで有効です。
- コラム記事
- 小説風コンテンツ
- 紙媒体デザインの再現
デザイン意図を正しく再現するためにも、CSSインデントの理解は不可欠です。
text-indentの基本的な使い方
text-indentの書き方と指定方法
text-indentは、段落の1行目の先頭位置を調整するプロパティです。
p {
text-indent: 2em;
}

この例では、1行目が2文字分下がります。重要なのは 「1行目のみ」に適用される点です。段落全体が下がるわけではありません。
数値・単位の指定パターン
text-indentでは、さまざまな単位が使用可能です。
- px(固定値)
- em(フォントサイズ基準)
- rem(ルート要素基準)
- %(親要素幅基準)
実務では、可変レイアウトに強いemやremが推奨されるケースが多いです。レスポンシブ対応を考慮するなら、相対単位を選択することが望ましいでしょう。
適用時の注意点
text-indentはブロック要素に適用されます。インライン要素には基本的に効果がありません。また、以下の点に注意が必要です。
- overflow設定との組み合わせ
- マイナス値指定(字下げではなく字上げになる)
- 擬似要素との併用
特にマイナス値は、デザイン調整で使われることがありますが、意図を明確にして使用すべきです。
css 文字間隔との違いを整理する
letter-spacingとの違い
letter-spacingは、文字と文字の間隔を調整するプロパティです。
p {
letter-spacing: 0.1em;
}

text-indentは「行の開始位置」、letter-spacingは「文字同士の距離」 を制御します。目的がまったく異なるため、混同しないことが重要です。
行間・余白との違い
関連プロパティには以下があります。
- line-height(行間)
- margin(外側余白)
- padding(内側余白)
インデントは「1行目の開始位置」のみを変更します。一方、marginやpaddingはボックス全体の位置を変えます。この違いを理解することで、設計ミスを防げます。
混同しやすいポイント

代表的な混同例として、以下が挙げられます。
- text-indentをpadding-leftと同じ感覚で使ってしまう
- 文字間隔(letter-spacing)とインデントを混同する
- HTMLのコードインデントが表示に影響すると思い込む
目的に応じて適切なプロパティを選択することが、保守性向上につながります。
実務で使えるインデント設計テクニック
レスポンシブ対応の考え方
スマートフォン表示では、過度なインデントが可読性を下げる場合があります。そのため、メディアクエリで制御する方法が有効です。
@media (max-width: 768px) {
p {
text-indent: 1em;
}
}

デバイスごとに最適化する設計が求められます。
デザインカンプ通りに再現する方法
デザインカンプに「字下げ2文字」と指定がある場合、em指定が有効です。フォントサイズに連動するため、拡大縮小にも対応できます。また、段落全体を下げたい場合は、margin-leftとの組み合わせを検討します。
保守性を高める指定方法
保守性向上のためには、共通クラス化、変数管理(CSS変数)、命名規則の統一が重要です。
:root {
--indent-size: 2em;
}
.indent {
text-indent: var(--indent-size);
}

設計段階から再利用性を意識することが重要です。
初心者がつまずきやすいポイントと解決策
思った通りに下がらない原因

初心者がインデントが効かないと感じる原因として、次のケースが多く挙げられます。
- インライン要素に指定している(text-indentはブロック要素のみに有効)
- 親要素のpaddingやmarginが影響している
- CSSのセレクタが意図した要素に当たっていない
開発者ツールで適用状況を確認する習慣を持つことが重要です。
インライン要素への適用
spanなどのインライン要素には適用されません。display: block; を指定してブロック要素に変更することで解決できます。
ブラウザ表示の確認方法
Chrome DevToolsなどを活用し、適用されているCSS、上書き状況、計算後スタイルを確認します。視覚的な検証がトラブル解決の近道です。
まとめ
本記事では、css インデントの基本概念からtext-indentの具体的な使い方、css 文字間隔や余白との違い、実務で活用できる設計テクニックまでを体系的に解説しました。重要なのは、表示制御の目的を明確にし、適切なプロパティを選択することです。インデントは単なる装飾ではなく、可読性やユーザー体験に直結する要素です。
さらにWeb制作スキルを体系的に学びたい方には、WEBMASTERSの活用も有効です。実務視点でのコーディング力を高めることで、CSS設計の理解も一段と深まります。正しい知識を身につけ、品質の高いWebページ制作を目指しましょう。