栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何展平嵌套的div以在CSS网格中显示它们?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何展平嵌套的div以在CSS网格中显示它们?

网格属性不适用于您的内容div,因为这些div不在范围内。

网格格式仅限于父子关系。这意味着网格容器始终是父级,而网格项目始终是子级。子代之外的网格容器的后代不属于网格布局,并且不接受网格属性。

由于您的内容div比网格容器(

#table
)低两级,使它们成为子代而不是子代,因此它们不是网格项目,并且不接受网格属性。


上面的规则有一些例外,但它们没有太多或任何浏览器支持。

display:contents
涵盖了。它使元素可以被父元素忽略为包含块,因此父元素会将其子元素识别为普通子元素。但是目前,由于对浏览器的支持较弱,因此该方法实际上无法用于生产目的。

在这种情况下,更合适的解决方案是

display: subgrid
使网格容器的子代超出子代(即,网格项的子代)以遵守容器的行。但是此功能不支持浏览器。


如果您想要一个纯CSS解决方案,也许结合使用grid和flex会有所帮助。

这是一个基本概念。HTML不变。

#table {  display: grid;  grid-template-columns: 1fr;}#table > div {  display: flex;}#table > div > div {  flex: 1;}<div id="table">  <div>    <div>      this is something long on the first row    </div>    <div>      short 1st row    </div>  </div>  <div>    <div>      wazaa 2nd row    </div>    <div>      wazii 2nd row    </div>  </div></div>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387126.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号