P粉8212742602023-08-28 13:45:30
必要に応じて新しい列を作成し、行が定義されていない垂直方向に流れるグリッドの場合は、CSS 複数列レイアウト (例 ) の使用を検討してください。 CSS グリッド レイアウト (少なくとも現在の実装 - レベル 1) では、この操作タスクを実行できません。質問は次のとおりです:
CSS グリッド レイアウトの grid-auto-flow
および grid-template-rows
/ grid-template-columns< /code> プロパティ。
より具体的には、grid-auto-flow: row
(デフォルト設定) と grid-template-columns
の両方が定義されている場合、グリッド項目を水平方向に配置できます。必要に応じて新しい行を作成します。この概念は、質問のコードで説明されています。
ただし、grid-template-rows
に切り替えると、グリッド項目は 1 列に積み重ねられます。
grid-auto-flow: row
および grid-template-rows
を使用しても、列は自動的に作成されません。 grid-template-columns
を定義する必要があります (したがって、grid-auto-flow
と逆の関係になります)。
逆の場合も同じ動作になります。
grid-auto-flow:column
と grid-template-rows
を定義すると、グリッド項目が垂直方向にうまく流れ、必要に応じて新しい列が自動的に作成されます。
ただし、grid-template-columns
に切り替えると、グリッド項目が 1 行に積み重ねられます。 (これは、この質問も含め、ほとんどの人が尋ねる質問です。)
行は自動的には作成されません。これには、grid-template-rows
を定義する必要があります。 (これは最も一般的に提供されるソリューションですが、レイアウトの行数が可変であるため、通常は拒否されます。)