Flexboxによるメディアオブジェクトパターン

Flexboxでメディアオブジェクトパターンを構築:片側に画像やアイコン、隣にテキストコンテンツを配置。基本的なUIコンポーネントパターンです。

Common Components

詳細な説明

メディアオブジェクトパターン

メディアオブジェクトは最も基本的なUIパターンの1つです — 片側に画像やアイコン、隣にテキストコンテンツを配置します。コメントスレッド、ユーザープロフィール、通知リストなど、数多くのインターフェースに登場します。

CSSコード

.media {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.media-image {
  flex: 0 0 auto;
}

.media-image img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.media-body {
  flex: 1;
  min-width: 0;
}

仕組み

  • 画像: flex: 0 0 autoで画像が固有のサイズを維持 — 拡大も縮小もしません。
  • ボディ: flex: 1でテキストエリアが残りの水平スペースすべてを埋めます。
  • min-width: 0: 長い文字列を含む場合のテキストのオーバーフローを防止。
  • align-items: flex-start: 画像を上部に揃え、テキストの高さに合わせて引き伸ばされないようにします。

バリエーション

反転(画像を右に):

.media-reversed {
  flex-direction: row-reverse;
}

中央揃え:

.media-centered {
  align-items: center;
}

実際の使用例

このパターンはソーシャルメディアフィード(アバター+投稿)、メールクライアント(送信者アイコン+メッセージプレビュー)、通知パネル、商品レビュー、チャットインターフェースで使用されています。

ユースケース

コメントスレッド、ユーザープロフィールカード、通知リスト、商品レビュー、チャットメッセージ、またはビジュアル要素(画像、アバター、アイコン)とテキストコンテンツを組み合わせるコンポーネントに使用します。

試してみる — Flexbox Playground

フルツールを開く