CSSで2行目以降にインデント(字下げ)をする方法
よくある注意事項や箇条書きリストなど、2行目以降にインデント(字下げ)してみます。
デフォルトではインデント設定されているのですが、CSSリセットした場合や、何かしら設定を変えている場合は、ul , dl , olに対して、再設定しないといけません。
今回は、text-indentを使ったやり方を解説します。
目次
text-indentについて
CSSで「text-indent: 1em;」を設定すると、先頭にスペースができます。
インデント(字下げ)をやってみよう
はじめに
ベースのソースコードになります。
<ul> <li>※The European languages are members of the same family. Their separate existence …</li> <li>※The European languages are members of the same family. Their separate existence …</li> </ul>
- ※The European languages are members of the same family. Their separate existence …
- ※The European languages are members of the same family. Their separate existence …
インデントしてみる
「li」に対して、「text-indent: -1em;」とマイナスを使うことで、1行目だけ左へ寄せます。
(※つまり、2行目以降がインデントされた状態になります。)
<style> ul li { text-indent: -1em; } </style>
- ※The European languages are members of the same family. Their separate existence …
- ※The European languages are members of the same family. Their separate existence …
元の位置へ戻す(右へ寄せる)
左へ寄せるために負の値を使ってしまったので、グレーの枠(コンテンツ幅)よりはみ出ていますよね。
それを元に戻すために、「margin-left: 1em;」を指定し、indentした幅と同じ分だけ ulごとを右へ寄せます。
これで完成です!
<style> ul{ text-indent: -1em; } ul li{ margin-left: 1em; } </style>
- ※The European languages are members of the same family. Their separate existence …
- ※The European languages are members of the same family. Their separate existence …
応用編
擬似要素を使うことで、リストマーカー(先頭についてる※などの部分)を一括で指定できます。
好きな記号や特別文字なども一括で設定できますので、ぜひ試してみてくださいね♪
<ul> <li>The European languages are members of the same family. Their separate existence …</li> <li>The European languages are members of the same family. Their separate existence …</li> </ul> <style> ul { text-indent: -1em; margin-left: 1em; } ul li:before { content: "★"; } </style>
- The European languages are members of the same family. Their separate existence …
- The European languages are members of the same family. Their separate existence …
まとめ
うまくできましたか?
text-indentの仕組みがわかれば、使える場面もたくさんありますのでぜひ使ってみてください(^^)