こんにちは、工藤です。
今回は個人的に知っておくと便利だなと思うcssの小技part2をご紹介します。
前回⇒知っておくと便利なcssの小技 part1
2行目のインデント以降にインデントを付ける
上の画像のように2行目以降はインデントを付けたい…という時はありませんか?
そんな時に簡単なコードで済ませられる小技です。
DEMO
1 2 3 4 5 6 7 |
ul.indentList li{ padding-left:1em; text-indent:-1em; } ul.indentList li:before{ content: "※"; } |
『padding-left:1em』『text-indent:-1em』を指定するだけで2行目以降が1文字下がって表示されます。
アイコンなどは適宜backgroundやcontent等で表示させてください。
コンテンツの高さを揃える
コンテンツの高さを揃えたい時、ありますよね。
そんな時に便利なのが『table-cell』です。
DEMO
1 2 3 4 5 6 7 8 |
ul.contentsList li{ display:table; } ul.contentsList li{ display:table-cell; padding:10px; vertical-align:middle; } |
親要素であるul.contentsListに『display:table』を指定します。
次に子要素であるul.contentsList liに『display:table-cell』を指定します。
要はテーブル組にしてしまいます。テーブル組って隣り合った要素の高さが揃いますよね。
これで完了です。『vertical-align:middle』などで上下の文字の中央ぞろえもできます。
ただ注意点がテーブルと同様にマージンが使えないということです。
隙間を作りたい場合は以下の方法を使います。
隙間を作りたい
DEMO
1 2 3 4 5 6 7 8 9 10 11 |
ul.contentsList02{ display:table; border-collapse:separate; border-spacing:10px 0; background:#f0f0f0; } ul.contentsList02 li{ display:table-cell; padding:10px; vertical-align:middle; } |
『border-collapse:separate;』『border-spacing』を親要素に指定します。
これだけで子要素に隙間を付けることができます。
ちなみにborder-spacingはpadding等と違って『border-spacing:左右 上下』の指定になるので注意してください。
また、最後と最初の要素の左右に隙間を作りたくない場合はちょっと向かない作りかもしれないです。
それ以外は簡単に高さの揃った要素を作ることができるので、ぜひお試しください。