• HOME > 
  • CSS > 
  • CSSのtext-indentの使い方【テキストの文字下げ!...

CSSのtext-indentの使い方【テキストの文字下げ!2行目以降の回り込み解消にも!】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像

本記事は執筆時点(2020年12月26日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。

広告
広告

text-indentプロパティとは?

text-indentは、テキストの文字下げを設定するためのプロパティです。

日本語は文章の先頭を一文字下げて書き始めるのが一般的です。text-indentを用いることでそうした字下げを自動で行うことが可能です。

text-indentの使い方

text-indentプロパティは、次のように任意の値と単位を記述して使用します。

text-indentの記述方法

HTML

<p class="sample">ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト</p>

CSS

.sample{
    text-indent:30px;/*文字下げ*/
}

プレビュー

text-indentの例

一文字分だけ字下げする

字下げの単位に「px」を用いると正確に一文字分だけ字下げを実現することは困難です。font-sizeが変われば、それに応じて数値を調整する必要が出てきます。

一文字分だけ字下げしたい場合は、単位に「em」を用いて「1em」と指定します。こうすることで文字サイズに関わらず正確に一文字分だけ文字下げすることができます。

HTML

<p class="sample">ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト</p>

CSS

.sample{
    text-indent:1em;/*文字下げ*/
}

プレビュー

一文字分だけ字下げの例

負の値(マイナス)を指定する

text-indentの値には負の数値(マイナス)を指定することも可能です。

通常右側に文字下げが行われますが、マイナスの値を指定すると反対に左側にずらすことができます。

2行目以降を字下げする

マイナスの値を活用することで、テキストの2行目以降の字下げを実現することができます。

例として下のテキストを見て下さい。リストなどでよくある先頭に記号を付けたテキストですが、改行された2行目以降が記号の下に回り込んでいます。

2行目が回り込んだ例

ここで次のようにtext-indentとpaddingを使えば、記号の下に回り込ませずに2行目以降を字下げすることができます。

HTML

<p class="sample">※ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト</p>

CSS

.sample{
    text-indent:-1em;
    padding-left:1em;
}

プレビュー

2行目を字下げした例

2行目text-indent:-1emにより、「※」マークを一文字分左に飛びだすようにずらしています。

3行目そのままだと「※」マークがはみ出したままなので、今度はpadding-leftを使ってテキスト全体の右部分に一文字分の余白を設けて元の位置に戻しています。

text-indentで-9999pxを使ってはいけない?

text-indentを使って「テキストを残したまま表示を画像に置き換える」というテクニックが存在します。

前述のようにtext-indentは要素全体の位置はそのままに、中のテキストだけ移動させることができます。-9999pxというような極端な指定を行えば画面からテキストを見えなくできてしまうということです。

便利なテクニックに思えますが、この手法は、ユーザーに見せずにクローラーにだけ認識させてSEOの評価を得ようという「隠しテキストや隠しリンク」とみなされ、SEOにおいてペナルティを受けサイトの評価を大きく落とすことにつながりますので行わないように注意してください。

text-indentが効かない時は?

text-indentを指定したのに思い通りに反映されない場合は、次のような点を確認してみましょう。

  • コードに記述ミスはないかどうか?
  • 同じセレクターで重複して指定していないか?
  • セレクターの優先順位は正しいかどうか?

コードに記述ミスはないかどうか?

CSSはスペルミスやコロン・セミコロンを付け忘れているだけで反映されなくなりますので今一度確認してみてください。text-indentの箇所以外が間違っていても同様ですので遡ってチェックしましょう。

同じセレクターで重複して指定していないか?

CSSは同じセレクターの場合、後から記述したものが優先されます。同じセレクターでtext-indentを指定していないか確認してみてください。

セレクターの優先順位は正しいか?

同じ要素でもCSSのセレクターには優先順位があり、基本としてはタグよりもクラス、クラスよりもIDに指定した値が優先されます。以前に別のセレクターを使ってtext-indentを指定していないかなど確認してみてください。

リンク先のサムネイル
CSSのセレクターとは?【種類と使い方をわかりやすく解説】

CSSのセレクタ―は、スタイルを適用させたいHTML要素の特定に使います。このページではセレクターの種類と使い方を解説します。セレクタ―を使ってスタイルを指定することで...【もっと読む】

まとめ

以上が、CSSのtext-indentプロパティの使い方です。

単に文章の先頭を字下げするだけでなく、リストの記号部分への回り込みを修正したり、文字間隔を変えたときの中央揃えの調整に使えたりと応用できる便利なプロパティです。

広告
広告

関連する記事

サムネイル

CSS内で独自の変数を定義・参照する方法【カスタムプロパティ……

2025年02月06日
今更ながらCSSで変数を使えることを知ったので、今回はカスタムプロパティの使い方について備忘録としてまとめてみます。 CSSのカスタムプロパティとは? CSSの […]
サムネイル

CSSのcounter関数でカウントを行って連番を表示する

2025年02月06日
最近になって、contentプロパティのcounter関数を使えばCSSだけで要素をカウントして連番を表示できることを知りました。本記事ではcounter関数の […]
サムネイル

CSSのattr関数でHTMLの属性値を取得・表示する【ツー……

2025年02月06日
最近になって疑似要素で使うことができるCSSのattr関数の存在を知りました。コーディングの幅を広げる便利な関数だと感じましたので学んだ内容を備忘録としてまとめ […]
サムネイル

CSSのoutlineプロパティの使い方【borderとの違……

2025年02月06日
CSSのoutlineプロパティについて学び直す機会がありましたので、borderとの使い分けを含めて備忘録としてまとめます。 outlineプロパティとは? […]
サムネイル

CSSでPNG画像に影を落とす方法【filterプロパティd……

2025年01月15日
CSSでドロップシャドウをつけるには? CSSで要素に影(ドロップシャドウ)を付ける手段としては「box-shadow」や「text-shadow(テキストの場 […]
サムネイル

CSSのfilterプロパティの関数の種類と効果をまとめ【フ……

2025年01月06日
最終更新日:2025年01月15日
IEのサポートが終了したので、これまで使う機会の少なかったfilterプロパティを改めて調べたところ、CSSでの表現の幅を広げてくれる画期的なプロパティだと気づ […]
サムネイル

CSSで写真にぼかし加工を加える方法【filterプロパティ……

2025年01月06日
CSSだけで写真をぼかせる? CSSのfilterプロパティのblur()関数を使うと、画像(要素)にぼかしを加えることができます。 画像編集ソフトを使うことな […]