この投稿では、CSS フレックスボックスとグリッドを使用して、応答性の高い水平方向に分散されたカードのリストを作成するためのさまざまな方法を検討します。 私たちは、さまざまな画面サイズにわたって一貫したカード サイズと間隔を維持するという課題に取り組んでいきます。
目次
- 目次
- チャレンジ
- CSS フレックスボックス: 柔軟なカード リスト
-
flex-grow
とflex-basis
による均等なカード配布
- CSS グリッド: レスポンシブなソリューション
- 概要
チャレンジ
ギャラリーやリストのコンポーネントでは、多くの場合、コンテナの幅に合わせてカード (記事、製品、画像) を必要とします。 各カードのサイズは、同じ高さ、幅、間隔を維持しながら、比例して変更する必要があります。 レイアウトは、さまざまな画面サイズにわたってシームレスにリフローする必要があります。
基本的な HTML 構造と最小限の CSS では、最初はカードの分布が不均一になる可能性があります。
CSS フレックスボックス: 柔軟なカードリスト
Flexbox は簡単なアプローチを提供します。 flex-wrap: wrap
は新しい行への折り返しを有効にし、gap
は間隔を制御します:
.list-items { display: flex; flex-wrap: wrap; gap: 10px; }
これにより、水平方向の流れが生成されます:
ただし、.item
(width: 100px;
) に固定幅を設定すると、カードが利用可能なスペースを満たすまで拡張できず、隙間が残ります:
justify-content
プロパティ (space-between
、space-around
など) を使用しても、均等分布の問題は完全には解決されません:
flex-grow
とflex-basis
flex-basis
は初期カード サイズを設定しますが、flex-grow: 1
(または flex: 1
) は比例した増加を可能にします:
.item { /* other styles */ flex: 1; flex-basis: 100px; }
これにより分散が改善されますが、最後のカードが不均一に展開される可能性があります:
CSS グリッド: レスポンシブなソリューション
CSS グリッドは、より堅牢なソリューションを提供します。 display: grid
と gap
は、Flexbox と同様に使用されます。
.list-items { display: flex; flex-wrap: wrap; gap: 10px; }
応答性を高めるには、grid-template-columns
、auto-fit
、minmax()
を含む 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 サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
