スポンサーリンク

より高度なCSSレイアウト:FlexboxとGridを学ぼう!(基礎)

CSSカスタマイズ

1. はじめに

前回の記事では、HTMLとCSSの基本を学びました。 今回は、より高度なレイアウト技術として「Flexbox」と「Grid」について解説します。

Webデザインをする際、要素の配置を効率的に行うためには、これらの技術を活用するのが重要です。


2. Flexbox(フレックスボックス)とは?

Flexboxは、要素を柔軟に配置し、簡単に中央揃えやレスポンシブデザインを実現できるレイアウト方法です。

Flexboxの基本構造

Flexboxを使用するには、親要素に display: flex; を指定します。

例:横並びのレイアウト

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Flexboxの基本</title>
    <style>
        .container {
            display: flex;
            justify-content: space-between;
            background-color: #f0f0f0;
            padding: 20px;
        }
        .item {
            background-color: #3498db;
            color: white;
            padding: 20px;
            margin: 5px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="item">アイテム1</div>
        <div class="item">アイテム2</div>
        <div class="item">アイテム3</div>
    </div>
</body>
</html>

Flexboxの主なプロパティ

プロパティ説明
display: flex;Flexboxを有効にする
justify-contentアイテムの配置 (flex-start, center, space-between など)
align-items縦方向の配置 (flex-start, center, stretch など)
flex-directionアイテムの並び方向 (row, column)

Flexboxの基本はこちらの記事もチェック!


3. Gridレイアウトとは?

Gridレイアウトは、2次元のレイアウト(行×列)を簡単に作成できるCSSの機能です。

Gridの基本構造

Gridを使用するには、親要素に display: grid; を指定します。

例:2列×2行のレイアウト

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Gridの基本</title>
    <style>
        .grid-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: 100px 100px;
            gap: 10px;
            background-color: #f0f0f0;
            padding: 20px;
        }
        .grid-item {
            background-color: #e74c3c;
            color: white;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 18px;
        }
    </style>
</head>
<body>
    <div class="grid-container">
        <div class="grid-item">アイテム1</div>
        <div class="grid-item">アイテム2</div>
        <div class="grid-item">アイテム3</div>
        <div class="grid-item">アイテム4</div>
    </div>
</body>
</html>

Gridの主なプロパティ

プロパティ説明
display: grid;Gridレイアウトを有効にする
grid-template-columns列の幅を指定する (1fr 1fr など)
grid-template-rows行の高さを指定する (100px 100px など)
gap要素間のスペースを設定する

Gridの基本は、こちらの記事もチェック!


4. FlexboxとGridの使い分け

FlexboxGrid
1次元(横または縦)に要素を並べるのに適している2次元(行×列)のレイアウトに適している
簡単な並び替えや中央揃えに便利複雑なデザインやダッシュボードに適している
justify-content, align-items で配置を制御grid-template-columns, grid-template-rows でレイアウトを設定

用途に応じて使い分けると、より柔軟なデザインが可能になります!


5. まとめ

  • Flexbox は1次元のレイアウト向きで、中央揃えや横並びの調整が簡単
  • Grid は2次元レイアウト向きで、複雑なレイアウトを組むのに便利
  • 状況に応じてFlexboxとGridを使い分ける

今回はFlexboxとGridの基本構造のお話をしました。
次回は、実践的なレイアウト例 を紹介します!


➤こちら、FlexboxとGridを両方使った実戦レイアウト作成の記事です

コメント