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年4月
 123456
78910111213
14151617181920
21222324252627
282930