ホームページ > 記事 > ウェブフロントエンド > グリッドとフレックスボックス
Grid と Flexbox はどちらも CSS の強力なレイアウト システムであり、それぞれがさまざまな種類のレイアウト タスク向けに設計されています。以下に 2 つの比較と、その違いを示す例を示します。
目的:
Flexbox は 1 次元レイアウト用に設計されています。単一の軸 (行または列) に沿った項目の配置と間隔を処理します。
主な機能:
例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Flexbox Example</title> <style> .container { display: flex; justify-content: space-between; /* Distributes space between items */ align-items: center; /* Aligns items vertically in the center */ height: 100vh; background-color: lightgrey; } .item { background-color: dodgerblue; color: white; padding: 20px; text-align: center; flex: 1; /* Makes items flexible */ margin: 10px; } </style> </head> <body> <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div> </body> </html>
図解された機能:
目的:
グリッドは 2 次元レイアウト用に設計されています。行と列の両方を同時に処理できるため、複雑なレイアウトが可能です。
主な機能:
例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Grid Example</title> <style> .container { display: grid; grid-template-columns: repeat(3, 1fr); /* Creates three equal-width columns */ grid-gap: 10px; /* Adds space between grid items */ height: 100vh; background-color: lightgrey; } .item { background-color: dodgerblue; color: white; padding: 20px; text-align: center; } .item:nth-child(2) { grid-column: span 2; /* Makes the second item span two columns */ } </style> </head> <body> <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div> </body> </html>
図解された機能:
フレックスボックスとグリッドのどちらを選択するかは、レイアウトの複雑さと、1 次元のコントロールが必要か、2 次元のコントロールが必要かによって異なります。多くの場合、両方を一緒に使用して目的のレイアウトを実現できます。
以上がグリッドとフレックスボックスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。