ちょっと、そこ! CSS の最もクールで強力なツールの 1 つを活用する準備はできていますか?今日は、Flexbox について見ていきます。アイテムを整列させたり、スペースを適切に配置したりするのに苦労したことがあれば、Flexbox があなたの新しい親友になります。
Flexbox (フレキシブル ボックス レイアウト) は、要素のサイズが不明または動的である場合でも、コンテナ内の要素の配置、間隔、分布を制御できる 1 次元のレイアウト システムです。
Flexbox は、利用可能なスペースに応じて拡大、縮小、または位置合わせできるレイアウトを作成するためのツールボックスと考えてください。
Flexbox の使用を開始するには、コンテナーに display: flex を設定するだけです。これを実行すると、そのコンテナの直接の子はすべて フレックス アイテム になり、すぐに異なる動作を開始します。
Item 1Item 2Item 3
.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 ピクセルで開始されますが、必要に応じて、縮小することなく拡大して余分なスペースを埋めることができます。
これを例を挙げてまとめてみましょう!
Item 1Item 2Item 3
.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 で苦労していたレイアウト設計の複雑さの多くを取り除きます。フロートもクリアについて心配する必要もなくなり、レスポンシブ デザインがはるかに簡単になりました!
リドイ・ハサン
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3