「text-indent」の賢い使い方

「text-indent」の賢い使い方の図

CSSの中に「text-indent」というのがあります。
これ結構使えるので正統派の使い方とその応用編を今回ご紹介します。

そもそも「indent(インデント)」ってどういう意味?

調べてみました。辞書で。
「…にぎざぎざをつける」だそうです。
その意味よりも「ぎざぎざ」っていう言葉が公式に使われていることにちょっと驚きました。ちょっとかわいいですね。
ということで、意味はそんな感じです。

ではIT系の文言としての「indent」はどういった意味かと言いますと、ずばり「文字下げ」です。こっちの方が辞書っぽい(笑)
ソースコードを書く時に階層の深さでインデントさせて視認性を良くするっていうのがわりと一般的ですね。
(弊社ではHTMLの記述はインデントさせないという暗黙のルールがありますが。)

そもそもの使い方

話をCSSに戻します。
「text-indent」は「そこに書かれているテキストの先頭の文字を下げる(もしくは上げる)」という動作をしてくれます。

吾輩は猫である。いや、本当は人なんだけど猫なんです。名前が。マラソンなんかも本気で走っちゃうのである。ニャー。

吾輩は人である。いや、本当は猫なんだけど人なんです。名前が。迷惑してるんです。飼い主に変な名前付けられたもんだから。

確かに「ギザギザ」してますね。
「文章は段落に分けて、段落の一文字目はひとますあける。次の段落に行く時は一行あけること。」
小学生の時、かっこいい文章の書き方を担任の曽我部先生にこう教わりました。
一文字分(1em)を設定すると文章の頭がへっこみます。この場合「右にずれる」が正しい言い方ですかね。

p {
	text-indent:1em;
}

曽我部先生の影響力ハンパないです(笑)

ぶら下げインデント…?

と言われてもよくわからない方は下の例を見てください。

  • ※このサイトは「初心者マークアップエンジニアのための覚え書き」というサブタイトルが入っていますので、ひとつのことをあえて噛み砕きまくって説明することにしています。「そんなの知ってるわ!」という方はとりあえず「いいね!」を押してください。
  • ※質問・疑問がある方はどしどしお問い合わせください。
ul {
	margin:0;
	padding:0;
	list-style:none;
}
li {
	padding-left:1em;
	text-indent:-1em;
}

CSS先輩はこう言ってます。
「おいliタグ。お前の左側全部一文字分余白あけろ。そんでもって先頭におるヤツ、そいつだけ一文字分左に元気よく飛び出せ。」
こういう命令、文章の書き方で「ぶら下げインデント」と言います。単純に見栄えが良くなるので結構頻繁に使えます。

「indent」がなんとなく「へこませる」というイメージなので、それを「-1em」とかパッと想像できないことがありますが、padding-leftとtext-indentを逆に指定すると下のようになっちゃうので注意が必要です。

何を隠そう私はこれが来るたびに毎回逆に書いてしまいます。
逆に書いた例が下です。

  • ※このサイトは「初心者マークアップエンジニアのための覚え書き」というサブタイトルが入っていますので、ひとつのことをあえて噛み砕きまくって説明することにしています。「そんなの知ってるわ!」という方はとりあえず「いいね!」を押してください。
  • ※質問・疑問がある方はどしどしお問い合わせください。

こうなっちゃった場合は、すかさず直しましょう。(笑)
やってるうちに覚えてくるはずです。
(そもそもpaddingにマイナスは使えません…チーン)

この記事は
ぴえーるが書きました。
入社2010年
出身地神戸
スキルパスタ、ノリツッコミ

今日のひとこと:「じゅげむ」とは「限り無い寿命」という意味だそうです。

サイト内検索
TOP