Html 为什么CSS网格将所有项目的宽度设置为网格中最小项目的最小内容?

Html 为什么CSS网格将所有项目的宽度设置为网格中最小项目的最小内容?,html,css,css-grid,Html,Css,Css Grid,我有一个简单的网格,有12行和一列。我假设每行的宽度默认设置为最小内容(我的假设)(图1)。然而,如果我在第一行(标题)中添加一个文本,所有行的宽度都会调整,而不仅仅是我更改的那一行(图2) 为了解决这个问题,我可以将网格的宽度设置为所需的值,该值将正确调整所有行的大小。但是,我想理解为什么CSS将所有行(标签和输入字段)定位到标题元素的最小内容,而不是将每一行单独定位到其最小内容 因为只有一列,所以所有行的大小都相同,并且它们基于header元素,因为它的宽度最大。为什么会这样?因为,换句

我有一个简单的网格,有12行和一列。我假设每行的宽度默认设置为最小内容(我的假设)(图1)。然而,如果我在第一行(标题)中添加一个文本,所有行的宽度都会调整,而不仅仅是我更改的那一行(图2)

为了解决这个问题,我可以将网格的宽度设置为所需的值,该值将正确调整所有行的大小。但是,我想理解为什么CSS将所有行(标签和输入字段)定位到标题元素的最小内容,而不是将每一行单独定位到其最小内容


因为只有一列,所以所有行的大小都相同,并且它们基于header元素,因为它的宽度最大。为什么会这样?因为,换句话说,这是默认行为

在内联和块格式上下文中,网格容器的自动块大小是其最大内容大小

如果使用
网格模板列
属性定义了列大小,则将应用以下内容

网格容器的最大内容大小(最小内容大小)是在最大内容约束(最小内容约束)下调整网格大小时,网格容器在相应轴上的轨迹大小(包括水槽)的总和

顺便说一句,我不是这些文件的专家


编辑:这是否回答了您的问题?

请发布所有相关代码,以便我们重现问题。
    #checkout-form fieldset {
        display: grid;
        grid-template-rows: repeat(12, 25px);
        align-items: start;
        /* this will align properly 
        width: 70%; */
    }

    #checkout-form fieldset>h2{
       grid-row: span 2;
     }