Menu
CoddyTech

Flex Boxとは?

CoddyのHTMLジャーニー「CSSによるスタイリング」セクションの一部。レッスン 44/76。

CSSのFlexboxレイアウトは、コンテナ内のアイテムを整列させ、間隔を配分する効率的な方法を提供する強力なツールです。Flexboxを使うと、コンテナ内の要素の配置、方向、順序、サイズを制御でき、さまざまな画面サイズやデバイスに適応する柔軟で動的なレイアウトを作成できます。

Flexboxを使うには、まずフレックスコンテナーを定義する必要があります。要素のdisplayプロパティをflexまたはinline-flexに設定します。フレックスコンテナーを作成すると、その直接の子要素は自動的にフレックスアイテムになります。

Flexコンテナを作成する基本的な構文は次のとおりです。

.container {
    display: flex;
}
  • display: flex;: この宣言により、選択した要素がFlexコンテナになり、その直接の子要素がFlexアイテムになります。
  • display: inline-flex;: インラインFlexコンテナを作成します。この要素はインライン要素のように振る舞いますが、その子要素はFlexboxのすべての機能を備えたFlexアイテムになります。

フレックスコンテナを作成したら、さまざまなFlexboxプロパティを使って、そのフレックスアイテムのレイアウトを制御できます。よく使われるプロパティには、次のようなものがあります。

  • flex-direction: フレックスアイテムの方向を指定します(row、column、row-reverse、column-reverse)。
  • justify-content: 主軸に沿ってフレックスアイテムを配置します(例: flex-start、flex-end、center、space-between、space-around)。
  • align-items: 交差軸に沿ってフレックスアイテムを整列します(例: flex-start、flex-end、center、baseline、stretch)。
  • flex-wrap: フレックスアイテムを複数行に折り返すかどうかを制御します(wrap、nowrap、wrap-reverse)。
  • align-content: 交差軸に余分なスペースがある場合に、フレックス行を整列します(justify-contentと似ていますが、複数行を対象とします)。
challenge icon

チャレンジ

簡単

3つの子要素の分割要素(<div>)を含む分割要素(<div>)があるHTMLドキュメントが与えられています。display: flex;プロパティを使って、親の分割要素をフレックスコンテナにするのが課題です。以下の手順に従ってください。

  1. クラスcontainerを持つ<div>要素を対象にするCSSルールを書きます。
  2. .container要素のdisplayプロパティをflexに設定します。

自分で試してみよう

<html>
<head>
    <title>What is a Flex Box?</title>
    <style>
        /* Write CSS rules here */
    </style>
</head>
<body>
    <div class="container">
        <div>Item 1</div>
        <div>Item 2</div>
        <div>Item 3</div>
    </div>
</body>
</html>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

CSSによるスタイリングのすべてのレッスン

自分で練習してみよう: Webプレイグラウンド