コンテナクエリによるレスポンシブタイポグラフィ

CSSコンテナクエリを使用して、コンテナの幅に基づいてフォントサイズ、行の高さ、見出しレベルをスケーリングし、コンポーネント内の真にアダプティブなタイポグラフィを実現します。

Component Patterns

詳細な説明

コンテナクエリによるレスポンシブタイポグラフィ

ビューポートではなくコンテナに適応するタイポグラフィは、コンテナクエリの最も実用的な使い方の1つです。狭いサイドバー内の見出しは、広いヒーローセクション内の同じ見出しよりも小さいテキストが必要です。

CSS

.text-container {
  container-type: inline-size;
  container-name: text-area;
}

.adaptive-heading {
  font-size: 1.25rem;
  line-height: 1.4;
}

@container text-area (min-width: 400px) {
  .adaptive-heading {
    font-size: 1.75rem;
    line-height: 1.3;
  }
}

@container text-area (min-width: 700px) {
  .adaptive-heading {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}

プログレッシブスケーリング

見出しは狭いスペースに適した読みやすいサイズから始まり、2つの追加ブレークポイントでスケールアップします。各サイズにはそのスケールでの最適な読みやすさのために調整されたline-heightが付属しています。

コンテナクエリユニットの使用

CSSにはコンテナクエリ長さユニットも用意されています:cqw(コンテナ幅の1%)、cqh(コンテナ高さの1%)、cqi(インラインサイズの1%)、cqb(ブロックサイズの1%):

.fluid-heading {
  font-size: clamp(1rem, 4cqi, 3rem);
}

これにより、最小値と最大値の間でコンテナ幅に合わせて滑らかにスケーリングする真にフルイドなタイポグラフィが作成されます。

ユースケース

ダッシュボードパネル、カードグリッド、サイドバーウィジェットなど、さまざまな幅のコンテナに配置されるウィジェットやコンポーネントの見出し、記事テキスト、すべてのタイポグラフィにこのパターンを使用してください。

試してみる — CSS Container Query Builder

フルツールを開く