検索
ホームページウェブフロントエンドCSSチュートリアル柔軟なレイアウトをマスターする: レスポンシブ デザインのための CSS フレックスボックス VS グリッド

この投稿では、CSS フレックスボックスとグリッドを使用して、応答性の高い水平方向に分散されたカードのリストを作成するためのさまざまな方法を検討します。 私たちは、さまざまな画面サイズにわたって一貫したカード サイズと間隔を維持するという課題に取り組んでいきます。

目次

  • 目次
  • チャレンジ
  • CSS フレックスボックス: 柔軟なカード リスト
  • flex-growflex-basis
  • による均等なカード配布
  • CSS グリッド: レスポンシブなソリューション
  • 概要

チャレンジ

ギャラリーやリストのコンポーネントでは、多くの場合、コンテナの幅に合わせてカード (記事、製品、画像) を必要とします。 各カードのサイズは、同じ高さ、幅、間隔を維持しながら、比例して変更する必要があります。 レイアウトは、さまざまな画面サイズにわたってシームレスにリフローする必要があります。

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

基本的な HTML 構造と最小限の CSS では、最初はカードの分布が不均一になる可能性があります。

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

CSS フレックスボックス: 柔軟なカードリスト

Flexbox は簡単なアプローチを提供します。 flex-wrap: wrap は新しい行への折り返しを有効にし、gap は間隔を制御します:

.list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

これにより、水平方向の流れが生成されます:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

ただし、.item (width: 100px;) に固定幅を設定すると、カードが利用可能なスペースを満たすまで拡張できず、隙間が残ります:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

justify-content プロパティ (space-betweenspace-around など) を使用しても、均等分布の問題は完全には解決されません:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

flex-growflex-basis

による均等なカード配布

flex-basis は初期カード サイズを設定しますが、flex-grow: 1 (または flex: 1) は比例した増加を可能にします:

.item {
  /* other styles */
  flex: 1;
  flex-basis: 100px;
}

これにより分散が改善されますが、最後のカードが不均一に展開される可能性があります:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

CSS グリッド: レスポンシブなソリューション

CSS グリッドは、より堅牢なソリューションを提供します。 display: gridgap は、Flexbox と同様に使用されます。

.list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

応答性を高めるには、grid-template-columnsauto-fitminmax() を含む repeat() が重要です:

.item {
  /* other styles */
  flex: 1;
  flex-basis: 100px;
}

これにより、完全に応答性の高いレイアウトが作成されます:

概要

Flexbox と Grid はどちらも強力なレイアウト機能を提供します。 Flexbox は 1 次元のレイアウトに優れていますが、Grid は 2 次元のコントロールに適しています。 適切なツールの選択は、特定の設計要件によって異なります。

コーディングを楽しんでください! ?

? 私の新しい本『Learning Vue』で Vue 3 と TypeScript について学びましょう!

? X で私とつながりましょう | LinkedIn.

この投稿が好きですか?共有する! ?? ?

以上が柔軟なレイアウトをマスターする: レスポンシブ デザインのための CSS フレックスボックス VS グリッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
WordPressブロックと要素にボックスシャドウを追加しますWordPressブロックと要素にボックスシャドウを追加しますMar 09, 2025 pm 12:53 PM

CSS Box-Shadowおよびアウトラインプロパティは、WordPress 6.1でTheme.jsonサポートを獲得しました。実際のテーマでどのように機能するか、そしてこれらのスタイルをWordPressブロックと要素に適用するために必要なオプションのいくつかの例を見てみましょう。

Smart Forms Frameworkを使用してJavaScript連絡フォームを作成するSmart Forms Frameworkを使用してJavaScript連絡フォームを作成するMar 07, 2025 am 11:33 AM

このチュートリアルでは、Smart Formsフレームワークを使用して、プロフェッショナルなJavaScriptフォームの作成を示しています(注:使用できなくなりました)。 フレームワーク自体は利用できませんが、原則とテクニックは他のフォームビルダーに関連しています。

スクリーンリーダーの分解:アクセス可能なフォームとベストプラクティススクリーンリーダーの分解:アクセス可能なフォームとベストプラクティスMar 08, 2025 am 09:45 AM

これは、フォームアクセシビリティについて行った小さなシリーズの3番目の投稿です。 2番目の投稿を逃した場合は、「ユーザーフォーカスの管理:Focus-Visible」をご覧ください。で

満足している属性を持つインラインテキストエディターを作成します満足している属性を持つインラインテキストエディターを作成しますMar 02, 2025 am 09:03 AM

インラインテキストエディターの構築は些細なものではありません。 このプロセスは、ターゲット要素を編集可能にすることから始まり、その過程で潜在的なSyntaxerrorの例外を処理します。 エディターの作成 このエディターを構築するには、コンテンツを動的に変更する必要があります

最初のカスタムSvelteトランジションを作成します最初のカスタムSvelteトランジションを作成しますMar 15, 2025 am 11:08 AM

Svelte Transition APIは、コンポーネントがカスタムSVELTE遷移を含むドキュメントを入力または離れるときにアニメーション化する方法を提供します。

GraphQLキャッシングの使用GraphQLキャッシングの使用Mar 19, 2025 am 09:36 AM

最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

5つの最高のPHPフォームビルダー(および3つの無料スクリプト)を比較する5つの最高のPHPフォームビルダー(および3つの無料スクリプト)を比較するMar 04, 2025 am 10:22 AM

この記事では、Envato Marketで入手可能なPHPフォームのビルダースクリプトを説明し、機能、柔軟性、デザインを比較します。 特定のオプションに飛び込む前に、PHPフォームのビルダーが何であるか、そしてそれを使用する理由を理解しましょう。 PHPフォーム

node.jsとexpressのMulterを使用してファイルアップロードしますnode.jsとexpressのMulterを使用してファイルアップロードしますMar 02, 2025 am 09:15 AM

このチュートリアルは、node.js、Express、およびMulterを使用してファイルアップロードシステムを構築することをガイドします。 単一および複数のファイルのアップロードをカバーし、後で検索するためにMongoDBデータベースに画像を保存することさえ示します。 まず、プロジェックをセットアップします

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター