使用 CSS Grid 实现表单布局的优势

表单布局和设计一直是网页设计和开发中令人头疼的一部分。 尝试过写 。 它占了第二列和第三列,这意味着第一列(间隙1 或者2)是空的。 因此,默认情况下,label 标签将下降到第2行,第1列。 然而,通过设置 grid-auto-flow: dense;; 在 container 中,浏览器将尝试填补网格中的空单元格,然后再进入一个新的行。

复选框和单选按钮现在可以设置在间隙1到3(1和2列) ,justify-self: end 靠右对齐:

input[type="checkbox"], input[type="radio"] {
  grid-column: 1 / 3;
  justify-self: end;
  margin: 0;
}

网格上的 labels 将自适应于任何一行的单元格。 所以,现在不像是在浮动布局中需要设置默认的宽度和间距:

label, input[type="checkbox"] + label, input[type="radio"] + label {
  width: auto;
  padding: 0;
  margin: 0;
}

最后,