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