css - CSS Grid:grid-row 在 Chrome 浏览器中不起作用
问题描述
我已经列出了像砖石一样具有固定高度的 div。该代码适用于 Firefox,但不适用于 Chrome。我提到的参考代码是CSS-only masonry layout。
Chrome 浏览器 Mozilla Firefox 浏览器
.container {
width: 1080px;
margin: 0 auto;
}
.grid-container {
display: grid;
grid-auto-rows: 1px;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.grid-item {
display: flex;
align-items: center;
justify-content: center;
border: 1px solid;
font-size: 50px;
margin: 5px;
}
.grid-row-200 {
grid-row: span 200;
}
.grid-row-225 {
grid-row: span 225;
}
.grid-row-250 {
grid-row: span 250;
}
.grid-row-275 {
grid-row: span 275;
}
.grid-row-300 {
grid-row: span 300;
}
.grid-row-350 {
grid-row: span 350;
}
<div class="container">
<div class="grid-container">
<div class="grid-item grid-row-200">200px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-225">225px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-225">225px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-225">225px</div>
</div>
</div>
解决方案
由于您的所有人都是您span
的乘数,5
因此您可以尝试使用较小的数字来避免此错误并增加grid-auto-rows
.container {
width: 1080px;
margin: 0 auto;
}
.grid-container {
display: grid;
grid-auto-rows: 5px;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.grid-item {
display: flex;
align-items: center;
justify-content: center;
border: 1px solid;
font-size: 50px;
margin: 5px;
}
.grid-row-200 {
grid-row: span 40;
}
.grid-row-225 {
grid-row: span 45;
}
.grid-row-250 {
grid-row: span 50;
}
.grid-row-275 {
grid-row: span 55;
}
.grid-row-300 {
grid-row: span 60;
}
.grid-row-350 {
grid-row: span 70;
}
<div class="container">
<div class="grid-container">
<div class="grid-item grid-row-200">200px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-225">225px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-225">225px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-225">225px</div>
</div>
</div>
您仍然可以减少更多:
.container {
width: 1080px;
margin: 0 auto;
}
.grid-container {
display: grid;
grid-auto-rows: 25px;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.grid-item {
display: flex;
align-items: center;
justify-content: center;
border: 1px solid;
font-size: 50px;
margin: 5px;
}
.grid-row-200 {
grid-row: span 8;
}
.grid-row-225 {
grid-row: span 9;
}
.grid-row-250 {
grid-row: span 10;
}
.grid-row-275 {
grid-row: span 11;
}
.grid-row-300 {
grid-row: span 12;
}
.grid-row-350 {
grid-row: span 14;
}
<div class="container">
<div class="grid-container">
<div class="grid-item grid-row-200">200px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-225">225px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-225">225px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-300">300px</div>
<div class="grid-item grid-row-250">250px</div>
<div class="grid-item grid-row-275">275px</div>
<div class="grid-item grid-row-350">350px</div>
<div class="grid-item grid-row-225">225px</div>
</div>
</div>
推荐阅读
- arrays - 应用程序定义或对象定义的错误 - Resize Ubound, Application.Transpose
- server - 使用 cloudfare 进行域转发
- java - Checkstyle 自定义检查不适用于 gradle checkstyle 插件
- java - 如何构造代码以防止不兼容的捕获?扩展_?
- linux - 如何将具有特定格式(如 .txt 和 .png)的所有文件从文件夹复制到 Linux 终端中的另一个文件夹?
- python - 创建 mlflow 实验:使用 UUID 运行已处于活动状态
- android - 从 Kotlin dsl 设置 appDistributionProperties.apkPath
- plupload - Plupload 捕获未捕获的 WRONG_FORMAT
- css - 是否可以将全局styles.css 文件转换为styles.scss?
- node.js - 捆绑业力测试时,webpack 5 在 RAM 上最大化