CSSフレックスボックス・ジェネレーター

Flexboxレイアウトを視覚的に構築 · コンテナと項目のプロパティを調整し、ライブプレビューを表示し、CSSをコピーします。

コンテナプロパティ

ライブプレビュー

生成されたCSS

使い方

  1. コンテナのプロパティを定義: flex-direction、justify-content、align-items、flex-wrap、gapでflexコンテナを構成します。
  2. flex項目を追加して構成: 子項目を追加し、各項目に対してflex-grow、flex-shrink、flex-basis、align-self、orderを個別に定義します。
  3. CSSをコピー: コンテナと項目用の完全なCSSを取得し、プロジェクトで使用する準備ができています。

なぜFlexboxジェネレーターを使うのか?

Flexboxは1次元CSSレイアウトに不可欠なツールです, 強力な分配および整列コントロールで項目を行または列に並べます。しかし、プロパティは多く、それらの相互作用は複雑です: justify-content対align-items、flex-grow対flex-basis、メイン軸対クロス軸。このインタラクティブジェネレーターは、各プロパティを変更すると瞬時に視覚的フィードバックを提供し、Flexboxを学習し、レイアウトに適したCSSを取得する最速の方法になります。

機能

よくある質問

justify-contentとalign-itemsの違いは?

justify-contentは項目をメイン軸(デフォルトでは水平)に沿って分配します。align-itemsは項目をクロス軸(デフォルトでは垂直)に沿って整列します。flex-directionがcolumnの場合、軸が反転します, justify-contentは垂直になり、align-itemsは水平になります。

FlexboxとCSS Gridはいつ使い分けるべきですか?

Flexboxは1次元レイアウトに使用, ボタンの行、ナビゲーションバー、改行する必要のあるカードのリスト。CSS Gridは、完全なページレイアウトや複雑なカードグリッドなど、行と列を同時に制御する必要がある2次元レイアウトに使用します。

flex: 1は何を意味しますか?

flex: 1はflex-grow: 1; flex-shrink: 1; flex-basis: 0%のショートカットです。これは項目に、利用可能なスペースを埋めるために成長し、必要に応じて縮小し、スペースを分配する前にゼロから開始するように指示します。flex: 1を持つすべての項目はスペースを均等に共有します。

Flexboxが実際に行うこと

Flexbox (Flexible Box Layout) は、一次元方向 (行または列) でスペースを分配しアイテムを整列するために設計されたCSSレイアウトモデルです。すべての動作を決定する2つのコア概念を導入します: メイン軸 (アイテムが流れる主方向、デフォルトでは水平) とクロス軸 (メイン軸に垂直、デフォルトでは垂直)。メインとクロスを内在化すれば、すべてのFlexboxプロパティはどちらかにマップされます: justify-contentはメイン軸で動作、align-itemsはクロス軸で動作、flex-directionはどちらの軸がどちらかを入れ替えます。

Flexboxは、1998年から2014年までウェブ開発者を悩ませた一連のレイアウト問題を解決しました。Flexboxの前は、要素を垂直方向に中央に揃えるにはハック (display: table-cell、負のマージン、translate変換付きのposition: absolute) が必要でした。等しい高さのカラムには背景画像付きの偽カラムテクニックが必要でした。スティッキーフッターには正確なピクセル計算が必要でした。Flexboxはこれらすべてを些細なことにしました: 1行の宣言が何十年ものCSSの回避策に取って代わります。トレードオフはFlexboxが一次元であることです; 二次元レイアウト (行と列を同時に) には、CSS Grid (2017年リリース) が良いツールです。

Flexboxプロパティはきれいに2つのグループに分かれます: コンテナプロパティ (親に適用: display: flexflex-directionflex-wrapjustify-contentalign-itemsalign-contentgap) とアイテムプロパティ (子に適用: flex-growflex-shrinkflex-basisalign-selforder)。コンテナプロパティはレイアウトパターンを制御します; アイテムプロパティは個々の例外を制御します。このジェネレーターは両方のセットを表面化させるので、コードを書かずにそれらがどう相互作用するかを実験できます。

このツールが内部でどのように動くか

ライブプレビューは、サンプル子要素を持つフレックスコンテナです。ドロップダウンと入力でコンテナプロパティ (flex-direction、justify-contentなど) を変更すると、JavaScriptがプレビューコンテナのインラインスタイルを更新し、ブラウザがレイアウトを再レンダリングします。プレビューは実際のブラウザのFlexbox実装であり、JavaScriptシミュレーションではありません: 実際のページであなたのCSSが生成するものを正確に見ることができます。

アイテムごとの制御は、各子を個別に調整できます。アイテムを追加または削除し、それらのflex-grow、flex-shrink、flex-basis、align-self、order値を設定し、コンテナがそれに応じてスペースを再分配する様子を見ることができます。視覚的な軸インジケータが現在の構成のメイン軸とクロス軸を示し、メンタルモデルを強化します。プロパティは実際のCSSで、トランスパイルやフレームワークの接頭辞を必要とせずに、そのままスタイルシートにコピーできます。

Generated CSSパネルは各操作で更新され、2つのCSSルールを生成します: コンテナ用 (選択したflexプロパティ付き) とアイテム用です。Copy CSSをクリックすると、ルールがクリップボードに書き込まれます。ツール自体はネットワークリクエストをまったく行いません; プレビューレンダリング、コード生成、クリップボード書き込みはすべてあなたのデバイス上のJavaScriptで起こります。ページをリロードすると、最初にCSSをコピーしない限り構成は消えます。

Flexboxの簡単な歴史

実世界のワークフロー

よくある落とし穴とその意味

プライバシー: すべてはブラウザ内で動作する

CSS学習とレイアウトツールは2つのフレーバーで提供されます: クライアントサイドJavaScriptを実行する単純なHTMLページ (プライベート、高速、セットアップなし) と保存されたプロジェクト付きのクラウドエディタ (協調的だがプライバシーのトレードオフあり)。このツールは最初の種類です。プロパティの選択、アイテム構成、生成されたCSS: すべてあなたのブラウザセッションに留まります。ページをリロードすると、最初にCSSをコピーしない限り状態は消えます。

Flexbox構成はめったに機密情報を含まないため、ここではプライバシーの賭けは低いです。それでも、分析の欠如が重要です: 試行錯誤プロセスが記録されることなく自由に実験できます。学生や研修生がサードパーティプラットフォームでアカウントを登録することが摩擦点となる教室や企業研修の設定で特に役立ちます。ツールはバックエンドなしの単一の静的ページであり、ロックダウンされたエンタープライズマシンを含む任意のブラウザで使用可能です。

別のツールが正しい選択になるとき