css - Chrome浏览器中css网格的奇怪行为?
问题描述
我在 Chrome 和 Firefox 中观察到这段代码的不同行为: HTML :
.container{
display: grid;
grid-template-columns: 40px 50px 500px 50px 40px;
grid-template-rows: 25% 100px auto;
background-color: violet;
}
<div class="container">
<div class="item item-1">1</div>
<div class="item item-2">2</div>
<div class="item item-3">3</div>
<div class="item item-4">4</div>
<div class="item item-5">5</div>
<div class="item item-6">6</div>
<div class="item item-7">7</div>
<div class="item item-8">8</div>
<div class="item item-9">9</div>
<div class="item item-10">10</div>
<div class="item item-11">11</div>
<div class="item item-12">12</div>
</div>
因此,在 Chrome 中:
- 项目 11 和 12没有紫色背景(为什么?)
- 第一行的高度是 34.2px(为什么?)
在火狐中:
- 第 11 项和第 12 项确实有紫色背景(我认为应该如此)
- 第一行的高度是 18.4px,这是 div 中项目的高度,我认为这是正确的行为
任何想法为什么会发生这种情况?
解决方案
如果没有为“.container”网格指定高度,则百分比将被视为自动。我认为这就是这种行为的原因。
.container{
display: grid;
grid-template-columns: 40px 50px 500px 50px 40px;
grid-template-rows: auto 100px auto;
background-color: violet;
}
<div class="container">
<div class="item item-1">1</div>
<div class="item item-2">2</div>
<div class="item item-3">3</div>
<div class="item item-4">4</div>
<div class="item item-5">5</div>
<div class="item item-6">6</div>
<div class="item item-7">7</div>
<div class="item item-8">8</div>
<div class="item item-9">9</div>
<div class="item item-10">10</div>
<div class="item item-11">11</div>
<div class="item item-12">12</div>
</div>
推荐阅读
- tensorflow - 从 Python 转换为 Tensorflow.js 后的 model.predict() 结果不同
- sql - 计数函数sql
- address-sanitizer - 发生未知地址上的 SEGV 时,如何继续执行地址清理程序?
- kubernetes - kubernetes-fabric8 watch API中的Action ADD是什么意思?
- javascript - 删除 react-dnd 中的可拖动对象
- javascript - 在javascript中将二进制数据编码为字符串
- python - 如何使用 Selenium webdriver 和 Python 抓取所有搜索结果
- tensorflow - tf.profiler 的峰值内存使用量比 nvidia-smi 多得多?
- java - bean xml中的Spring配置方法引用
- java - 使用 OpenId Connect 的多个 Liberty 服务器 SSO