CSS Grid 生成
CSS Grid は2次元レイアウトを組む標準的な方法ですが、コンテナの構文は忘れがちです。このジェネレーターがコンテナルールを代わりに書きます。等幅の列を固定数、トラック間の余白、最小幅を下回ると auto-fit 列に切り替わるメディアクエリを生成するので、小さな画面でも読みやすいレイアウトが保てます。出力はコンテナCSSのみ。要素の配置はご自身のスタイルシートで行います。
グリッドの作り方
-
1
列数を設定する
等幅のトラックを1〜12個。
-
2
列の最小幅を設定する
この幅を下回ると auto-fit に切り替わり、各列が使える最小サイズを保ちます。
-
3
余白を設定する
列と行の間のスペース。
-
4
CSSを生成する
ツールがコンテナルールとレスポンシブ代替を書き出します。
-
5
コードをコピーする
コンテナルールをスタイルシートに貼り付け、要素はご自身の `grid-column` / `grid-row` ルールで配置します。
生成されるコンテナ
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
@media (max-width: 660px) {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
repeat(3, minmax(0, 1fr)): 利用可能な幅を均等に分ける3列。1frは残りのスペースの1分画で、minmax(0, 1fr)は列がコンテンツサイズより小さく縮むのを許します。gap: 各トラック間の余白。- メディアクエリは
repeat(auto-fit, minmax(220px, 1fr))に切り替わり、それぞれ220px以上の列を可能な限り作ります。ブレークポイントは列数×最小幅(120pxが下限)なので、小さな画面では列が圧縮されずに折り返されます。
fr 単位
fr は「残りのスペースの1分画」という意味です。固定サイズのトラックを差し引いた後、残りのスペースを fr 単位の合計数で割ります。
grid-template-columns: 200px 1fr 2fr;
1000px のコンテナでは、最初の列が200pxを占め、残りの800pxが1:2に分かれて267pxと533pxになります。
auto-fill と auto-fit
auto-fill: アイテムが足りないとき、空のプレースホルダートラックを作ります。auto-fit: 空のトラックをゼロに畳み、残りのアイテムが伸びて行を埋めます。
レスポンシブ代替はカードグリッドに適した auto-fit を使い、行がいつも埋まって見えます。
列幅を変える
ジェネレーターは等幅の列を出力します。サイズを混ぜたいときは結果を編集します: grid-template-columns: 200px 1fr 2fr; で固定サイドバーと1:2の可変2列になります。名前付きエリア(grid-template-areas)や明示配置(grid-column: 1 / 3)は、生成されたコンテナの上に手で追加します。
Grid と Flexbox
- Grid: トラックによる明示的な2次元レイアウト。行と列の構造を持つレイアウト(ページの骨格、ギャラリー、ダッシュボード)に向きます。
- Flexbox: 単一の軸に沿った1次元の整列。アイテムが自然に流れる場面(ナビバー、ボタンの並び)に向きます。
実際のレイアウトは通常両方を組み合わせます。ページの骨格に Grid、コンポーネント内に Flexbox です。
よくある落とし穴
- 子要素の
min-width: 0を忘れる: グリッドアイテムはデフォルトでコンテンツの最小幅を使うため、fr列が最長の単語より縮めません。子にmin-width: 0を指定して縮めるのを許しましょう。 display: gridなしで入れ子にする: グリッドの子は、自分で宣言しない限りグリッドにはなりません。
よくある質問
小さな画面でレイアウトを守ります。生成されたメディアクエリが repeat(auto-fit, minmax(幅, 1fr)) に切り替わり、各列はその幅を最低限保ち、グリッドは列を圧縮せずに行を増やします。
ジェネレーターは等幅の列を出力します。結果の grid-template-columns 行を編集してサイズを混ぜてください。例: 中央の列を広くする 1fr 2fr 1fr や、固定サイドバーの 200px 1fr。
通常は、アイテムがデフォルトの min-width: auto(コンテンツの最小幅と同じ)を持っているためです。グリッドアイテムに min-width: 0 を指定するとセル内で縮めます。
行と列の両方の構造があるレイアウト(ページレイアウト、写真ギャラリー、ダッシュボード)には Grid。アイテムが1つの軸に沿って流れる場面(ナビバー、ボタンの並び、フォーム項目の縦積み)には Flexbox です。
関連ツール
プレースホルダー画像ジェネレーター
1〜4000 pxの画像に色と文字を設定し、PNGで保存できます。外部URLとHTMLもコピーできます。
CMYK から RGB への変換
標準的な計算式で CMYK の割合をおおよその RGB 値と Hex 値に変換し、画面用にすばやく確認できます。
補色ファインダー
任意の色の補色を見つけます。HSL上の反対色、スプリットコンプリメンタリーのペア、アクセシブルな配色のヒントを返します。
Markdownリンク生成ツール
URLとアンカーテキストからMarkdownリンクの記法を生成します。タイトルのツールチップや、長い文書を読みやすく整える参照形式のリンクにも対応しています。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
Nginx 設定ジェネレーター
かんたんなフォームから、TLS・HTTP/2・gzip・ブラウザキャッシュ・リバースプロキシの設定を含む Nginx の server block を生成します。
このツールは他の言語でも利用できます
- Générateur de CSS Grid [FR]
- Trình tạo CSS Grid [VI]
- مولّد CSS Grid [AR]
- CSS Grid 생성기 [KO]
- CSS-Grid-Generator [DE]
- Gerador de CSS Grid [PT]
- Generador de CSS Grid [ES]
- CSS Grid-generator [SV]
- เครื่องมือสร้าง CSS Grid [TH]
- Generator CSS Grid [ID]
- CSS Grid-generator [NL]
- Generator CSS Grid [PL]
- CSS Grid Generator [EN]
- Generatore di CSS Grid [IT]
- Генератор CSS Grid [RU]
- CSS Grid Oluşturucu [TR]
- CSS Grid 生成器 [ZH]