Flexboxを使って ボタンを下側に揃えて配置する方法
以前は、高さを揃えるためにjQueryを使ったり、cssで作るにしても少し手間がかかりましたが… Flexboxなら簡単に実装できるので紹介します。
以前は、高さを揃えるためにjQueryを使ったり、cssで作るにしても少し手間がかかりましたが…
Flexboxなら簡単に実装できるので紹介します。
今回は、コンテンツ量の異なるボックスを用意して、高さを揃える。
それから、ボックス内の下にボタンを配置するよくあるレイアウトをFlexboxで作ります。
Step1. Flexboxを使って高さを揃える
1)今回は「li」の高さを揃えたいので、その親要素ulに「display: flex;」を追加するだけ!
(高さを揃えるプロパティはalign-items: stretch;ですが、flexを使うと初期値で設定されているので省いてます。)
liが横並びになり、高さも揃います。
2)さらに、「justify-content: space-between;」を追加することで、ボックス間の余白を均等にしています。
<ul> <li> <p class="photo"><img src="https://unsplash.it/180/120"></p> <p class="txt">テキスト</p> <p class="btn">詳しくはこちら</p> </li> <li> <p class="photo"><img src="https://unsplash.it/180/120"></p> <p class="txt">テキストテキストテキストテキスト</p> <p class="btn">詳しくはこちら</p> </li> <li> <p class="photo"><img src="https://unsplash.it/180/120"></p> <p class="txt">テキストテキストテキストテ キストテキストテキストテキストテキストテキス トテキストテキスト</p> <p class="btn">詳しくはこちら</p> </li> </ul> <!-- 装飾に関するCSSは省いています --> <style> ul { display: flex; justify-content: space-between; } li { width: 30%; } </style>
-
テキスト
詳しくはこちら
-
テキストテキストテキストテキスト
詳しくはこちら
-
テキストテキストテキストテ キストテキストテキストテキストテキストテキス トテキストテキスト
詳しくはこちら
Step2. ボタンを底辺で揃える
1)liに「display: flex;」を指定して、Flexアイテムにする。
2)「flex-direction: column;」を指定して、横並びになってしまった部分を縦積みにする。
3).btn(ボタン)に「margin-top: auto;」を指定すると、下側に配置されます。
<ul> <li> <p class="photo"><img src="https://unsplash.it/180/120"></p> <p class="txt">テキスト</p> <p class="btn">詳しくはこちら</p> </li> <li> <p class="photo"><img src="https://unsplash.it/180/120"></p> <p class="txt">テキストテキストテキストテキスト</p> <p class="btn">詳しくはこちら</p> </li> <li> <p class="photo"><img src="https://unsplash.it/180/120"></p> <p class="txt">テキストテキストテキストテ キストテキストテキストテキストテキストテキス トテキストテキスト</p> <p class="btn">詳しくはこちら</p> </li> </ul> <!-- 装飾に関するCSSは省いています --> <style> ul { display: flex; justify-content: space-between; } li { display: flex; flex-direction: column; width: 30%; } .btn { margin-top: auto; } </style>
-
テキスト
詳しくはこちら
-
テキストテキストテキストテキスト
詳しくはこちら
-
テキストテキストテキストテ キストテキストテキストテキストテキストテキス トテキストテキスト
詳しくはこちら
これで完成です!!
まとめ
今回はよく見かけるレイアウトを作ってみましたが、Flexboxを使うと簡単にできちゃうことも多いです!
ぜひ使ってみてくださいね。