Flexboxプレイグラウンド
Flexbox Playground
実例の上でflexの各プロパティを切り替え、出来上がるCSSと各プロパティが何を変えたのかを表示します。
flexboxのすべてのプロパティを、動く実例の上で扱います。操作部ごとに、それが実際に何をするのかを1行で説明します。プレビューはブラウザ自身のflexレイアウトで、CSSはその状態を書き写したものなので、見えているとおりにページでも起きます。
プレビュー
項目を押すと、その項目の設定を右側で変えられます。
コンテナ
項目 1
コード
- · 主軸は横に走ります。
- · flex-grow がすべて 0 なので、余った空間を分けるのは justify-content です。
既定値のままの property は書き出しません。変えたところだけが出ます。
使い方
コンテナのプロパティを決めます
方向、折り返し、そして3つの配置プロパティです。それぞれ何を変えるのかが下に1文ずつ付いています。とくに`align-content`は、1行しかないときにはまったく何もしません。
項目を押して編集します
grow、shrink、basis、align-self、orderは項目ひとつに適用されます。項目を足したり減らしたりして、コンテナが幅をどう配り直すか見てください。
説明を読んでCSSをコピーします
いまの配置が実際にどう振る舞うかをパネルが説明し、出力からは既定値のままのプロパティをすべて外します。コピーされるのは変えたものだけです。
よくある質問
項目が縮まずにはみ出すのはなぜですか。
`flex-shrink: 0`か、子要素の最小コンテンツ幅のどちらかです。flex項目の`min-width`の既定値は`auto`で、これは中身より小さくならないという意味です。切れ目のない長い文字列か横に広い画像がよくある犯人で、`min-width: 0`が対処法です。
`align-items`と`align-content`は何が違いますか。
`align-items`は項目ひとつひとつを交差軸に置きます。`align-content`は、折り返しで行が2つ以上できたときに行の束を置きます。だから`nowrap`のとき、あるいは1行しかないときは、まったく何もしません。「このプロパティが壊れている」と言われるいちばん多い原因です。
並べ替えに`order`を使ってよいですか。
控えめに使ってください。見た目の順序だけを変えてDOMの順序は変えないので、スクリーンリーダーとタブ順は今もマークアップに従います。見た目を並べ替えた画面をキーボードでタブ移動すると、フォーカスが画面を飛び回ります。仕様が最後の手段だと言っている理由です。
flexboxとgridのどちらを使いますか。
一方向ならflexboxです。ボタンの並び、ツールバー、カードの中身といったものです。行と列が互いに揃っていなければならないならgridです。gridを真似ようとしてflexコンテナを入れ子にしているなら、欲しいのはgridです。
ここから渡せます
次の一手
このツールが出したものをそのまま受け取れる道具です。
可変サイズのclamp()計算
Fluid Size Calculator
2つのビューポート幅のあいだでサイズがなめらかに変わるclamp()の式を計算します。
CSS整形・圧縮
CSS Beautifier & Minifier
並べ替えを一切せずにCSSを整形または圧縮し、トークンの並びをそのまま保ちます。
CSSグリッド作成
CSS Grid Builder
名前を付けた領域でグリッドを目で見ながら組み、grid-templateのCSSを出力します。
カラーコード変換
Colour Format Converter
HEX・RGB・HSL・HWB・LAB・LCH・OKLCHのあいだで色を変換し、いちばん近い色名も示します。
カラーピッカー
Colour Picker
OKLCHの色域から、画面のスポイトで、またはアップロードした画像から色を選び、好きな表記でコピーします。
コントラスト比チェッカー
Contrast Checker
文字色と背景色の組み合わせをWCAG 2とAPCAで採点し、基準を満たす最も近い色を提案します。