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

为什么grid-gap中的百分比值会在CSS网格中造成溢出?

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

为什么grid-gap中的百分比值会在CSS网格中造成溢出?

最初,我们无法解析网格间隙的百分比,因为它取决于高度,因此我们将其忽略(我们将其视为

auto
)。浏览器首先考虑这样的内容来计算高度:

console.log(document.querySelector('.grid').offsetHeight).grid {  display: grid;  background-color: blue;}.grid-1 {  background-color: red;  opacity:0.5;}<div >  <div >    test  </div>  <div >    test  </div>  <div >    test  </div></div>

该高度用作计算间隙的参考,然后将其添加到 高度 (我们用来根据内容查找间隙的 高度
)。这将不会再次触发网格的高度计算,因为它将创建一个循环并具有无限循环,因此浏览器将在此处停止并且我们将发生 溢出

console.log(document.querySelector('.grid').offsetHeight)console.log(document.querySelector('.grid-1:nth-child(2)').offsetTop - document.querySelector('.grid-1:nth-child(1)').offsetTop - document.querySelector('.grid-1:nth-child(1)').offsetHeight).grid {  display: grid;  grid-gap:100%;  background-color: blue;  margin-top:50px;}.grid-1 {  background-color: red;  opacity:0.5;  transform:translateY(-100%);}<div >  <div >    test  </div>  <div >    test  </div>  <div >    test  </div></div>

如您所见,我使用100%并添加了一些变形,以查看间隙等于初始高度 (JS代码也确认了这一点)

一个简单的解决方法是避免百分比值,并使用像素值,以便浏览器将它们包含在初始计算中。在所有情况下,使用百分比值都不是很好的情况,因为您不知道
“百分比百分比”?

.grid {  display: grid;  grid-gap:50px;  background-color: blue;  margin-top:50px;}.grid-1 {  background-color: red;  opacity:0.5;}<div >  <div >    test  </div>  <div >    test  </div>  <div >    test  </div></div>


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

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

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