こんにちは! CSS の最もクールで強力なツールの 1 つを活用する準備はできていますか?今日は、Flexbox について見ていきます。アイテムを整列させたり、スペースを適切に配置したりするのに苦労したことがあれば、Flexbox があなたの新しい親友になります。
Flexbox (フレキシブル ボックス レイアウト) は、要素のサイズが不明または動的である場合でも、コンテナ内の要素の配置、間隔、分布を制御できる 1 次元のレイアウト システムです。
Flexbox は、利用可能なスペースに応じて拡大、縮小、または位置合わせできるレイアウトを作成するためのツールボックスと考えてください。
Flexbox の使用を開始するには、コンテナーで display: flex を設定するだけです。これを行うと、そのコンテナの直接の子はすべて フレックス アイテム になり、すぐに異なる動作を開始します。
<div class="flex-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.flex-container { display: flex; }
これで、.flex-container 内のすべてのアイテムはフレックス アイテムとなり、簡単に操作できるようになりました。
デフォルトでは、Flexbox は項目を行 (水平) に配置しますが、項目を列 (垂直) に配置したい場合はどうすればよいでしょうか?フレックスボックスでは、flex-direction プロパティを使用して完全に制御できます。
.flex-container { display: flex; flex-direction: column; }
これで、アイテムが垂直に積み重なるようになります。
品物が 3 つあり、それらをコンテナ内に均等に広げたいとします。ここで justify-content が役に立ちます。
.flex-container { display: flex; justify-content: space-between; }
これで、アイテムはコンテナ内に均等な間隔で配置されます。
justify-content は水平方向の配置を制御しますが、align-items は垂直方向 (または交差軸に沿った) の配置を処理します。オプションは次のとおりです:
.flex-container { display: flex; align-items: center; }
これで、すべてのアイテムがコンテナ内で垂直方向の中央に配置されます。
特定のアイテムを拡大、縮小したり、開始サイズを固定したりしたい場合があります。 flex-grow、flex-shrink、および flex-basis プロパティを使用すると、その動作を制御できます。
例:
.item { flex-grow: 1; flex-shrink: 0; flex-basis: 100px; }
これにより、アイテムは 100 ピクセルで開始されますが、必要に応じて、縮小することなく拡大して余分なスペースを埋めることができます。
これを例を挙げてまとめてみましょう!
<div class="flex-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.flex-container { display: flex; flex-direction: row; justify-content: space-around; align-items: center; height: 300px; background-color: #f0f0f0; } .item { background-color: #4CAF50; padding: 20px; color: white; flex-grow: 1; }
この例では:
Flexbox は、CSS で苦労していたレイアウト設計の複雑さの多くを取り除きます。フロートもクリアについて心配する必要もなくなり、レスポンシブ デザインがはるかに簡単になりました!
리도이 하산
以上がFlexbox – スペースを調整して分配する現代的な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。