[CSS]将 display:flex 列表更改为 display:grid。
在用 css 制作文章或产品列表时,我经常使用 display:flex,但还是要使用 display:grid?所以我想试一试。
就我个人而言,我习惯使用 display:flex,所以不太擅长 display:grid。
如果是一个简单的列表,没有什么问题,但它似乎能处理相当复杂的布局,相反,它让我每次都很纳闷:”那是什么?我该怎么把它组合起来?我的脑袋短路了(……);
好吧,我会像往常一样试试 display:flex。
<div class="list01"> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> </div> <style> .list01 { width: 900px; background: #ddd; display: flex; flex-wrap: wrap; justify-content: space-between; } .list01 .item { margin-bottom: 25px; width: 32%; height: 100px; color: #fff; background: #000; display: flex; justify-content: center; align-items: center; position: relative; } </style>
这就是在浏览器中显示时的样子。
现在,让我们将代码的 css 部分改为 display: grid。
<div class="list01"> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> </div> <style> .list01 { width: 900px; background: #ddd; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2%; } .list01 .item { margin-bottom: 25px; height: 100px; color: #fff; background: #000; display: flex; justify-content: center; align-items: center; position: relative; } </style>
这就是在浏览器中显示的效果。
我不喜欢 GIRD 的地方在于,我不喜欢 grid-template-columns (.;
我指定了 repeat(3,1fr),因此它就像是宽度为 1fr 的 3 列。列的宽度应该是…