flexboxを入れ子で使う

flexboxを入れ子で使えることを知らなかったので、実際に試してみました。

サンプルコード

HTML

<div class="block">
	<div class="block-image">
		<img src="http://placehold.it/200x150" alt="" />
	</div>
	<div class="block-text">
		<p>テキストテキストテキストテキスト</p>
	</div>
</div>

CSS

.block {
	display: flex;
}
.block-image {
	width: 200px;
}
.block-text {
	flex-grow: 1;
	display: flex;
	align-items: center;
	background: #eeeeee;
}

.blockと.block-textに対してdisplay: flex;を指定して、.block-textのalign-items: center;で子要素が上下中央一に来るようにしています。
flexboxを入れ子にするデモページ
このサンプルの場合はdisplay: table; と display: table-cell;を使ったのでも実装できそうですが、もっと複雑なレイアウトだったりした場合には覚えておくと便利かもしれません。
 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930