Html 使用display:grid的容器的直接子元素是什么类型的显示?
如果HTML中只有一个背景颜色为蓝色的Html 使用display:grid的容器的直接子元素是什么类型的显示?,html,css,css-grid,grid-layout,Html,Css,Css Grid,Grid Layout,如果HTML中只有一个背景颜色为蓝色的p标记,并且该标记具有margin:auto,那么它会占用页面的宽度,并且可以更改宽度和填充,就像内联块一样 p{ 背景颜色:蓝色; 保证金:自动; } Lorem ipsum左右自动边距值在弯曲或网格元素的上下文中表现不同。它会将一个元素完全折叠到其固有宽度,而不是让它按预期扩展 这与内联块显示值将产生的行为类似,但所讨论的元素并非如您所怀疑的那样是内联块 div{ 显示:网格; 网格模板列:1fr; } p{ 背景颜色:蓝色; 保证金:自动; }
p
标记,并且该标记具有margin:auto
,那么它会占用页面的宽度,并且可以更改宽度和填充,就像内联块一样
p{
背景颜色:蓝色;
保证金:自动;
}
Lorem ipsum
左右自动边距值在弯曲或网格元素的上下文中表现不同。它会将一个元素完全折叠到其固有宽度,而不是让它按预期扩展
这与内联块
显示值将产生的行为类似,但所讨论的元素并非如您所怀疑的那样是内联块
div{
显示:网格;
网格模板列:1fr;
}
p{
背景颜色:蓝色;
保证金:自动;
}
同侧眼睑
div{
显示:网格;
网格模板列:1fr;
}
P
{
背景颜色:蓝色;
保证金:自动;
}
这是p标签
以下是您描述的代码:
p{
背景颜色:蓝色;
保证金:自动;
}
div{
显示:网格;
网格模板列:1fr;
}
这里有一些内容
答案是否定的。使用显示:网格
不会使子元素显示:内联块
当您将元素设置为display:grid
或inline grid
时,您将建立一个网格格式上下文。这是一个独特的布局结构,有自己的一套规则。某些行为与块格式化上下文中的行为一致这一事实是偶然的
网格项的显示
值由网格容器控制。事实上,不管值说什么(在浏览器检查器中)或作者声明什么(您可以将显示设置为任何您想要的),这些值都会被忽略,最终行为由网格容器控制
弹性项目的显示
值的操作方式相同
更多详情:
- CSS网格规范:
- CSS Flexbox规范:
我已经解决了问题中的问题,margin:auto必须位于p标记上。是的,如果在子元素上保留margin:auto属性,则会产生影响,因此这与内联块属性无关,margin属性使标记占据文本宽度。我认为这个问题问得不好。OP似乎将任何“收缩以适应”行为链接到内联块,因此每当我们有一个适合其内容宽度的元素时,它就必须是内联块,而不是这种情况。我认为值得解释的是,为什么使用他描述的配置会使我们得到背景仅与文本相关的输出。@Temaniaff,我通常会尝试发布符合一般兴趣的答案,而不仅仅是OP。网格项的显示值通常是神秘或混乱的主题。希望我的回答有助于澄清这个问题。(也就是说,自从我发布答案后,问题已经发生了很大的变化。)是的,如果我们考虑问题/答案的话,但我试图在OP(和其他用户)的头脑中思考,他们可能不理解为什么收缩会适应行为,导致他们认为我们正在处理内嵌块。(你所说的困惑)…顺便说一句,我记得你对此有一个答案,我会尽力找到答案的。如果我从一个角度讲,你从另一个角度讲,我们会从两个角度来解释,所有游客都会受益;-)@Temaniaffell我找到了我的答案,这就是我的意思。。说明居中(如使用边距)将收缩图元。(我很确定我看到过你的一个类似的例子,有更多细节)