css - 删除最后一个子元素的填充会导致不同大小的元素
问题描述
我在特色图片下方有一个带有水平缩略图的图片库。我正在添加padding-right:10px;
除了最后一个孩子之外的所有内容,以平均分配这些元素。这在除最后一个缩略图之外的所有缩略图上都按预期工作,它比其他缩略图稍大。
为什么会发生这种情况是有道理的,但我不知道如何解决它。这是许多其他 Stack Overflow 帖子中推荐的解决方案。任何解决方法将不胜感激。
<style>
.gallery-grid {
display: grid;
grid-template-columns: 50% 50%;
grid-template-rows: 1fr;
column-gap: 10px;
row-gap: 30px;
}
.image-thumb {
float: left;
width: 20%;
padding-right: 10px;
box-sizing: border-box;
}
.image-thumb:last-child {
padding-right: 0;
}
</style>
<div class="gallery-grid">
<img id="featured-image" src="featured.jpg" style="width:100%">
<div class="image-thumb">
<img src="featured_thumb.jpg" alt="Mountains" style="width:100%" onclick="myFunction(this);">
</div>
<div class="image-thumb">
<img src="thumb.jpg" alt="Nature" style="width:100%" onclick="myFunction(this);">
</div>
<div class="image-thumb">
<img src="thumb.jpg" alt="Snow" style="width:100%" onclick="myFunction(this);">
</div>
<div class="image-thumb">
<img src="thumb.jpg" alt="Lights" style="width:100%" onclick="myFunction(this);">
</div>
<div class="image-thumb">
<img src="thumb.jpg" alt="Lights" style="width:100%" onclick="myFunction(this);">
</div>
</div>
解决方案
如果你想坚持使用float
insteed offlex
你可以使用margin
insteed of padding
。然后,您可以计算边距占用的总空间,将其除以元素数量,然后使用calc
(margin-right:10px * 4) / 5 = 8
例子:
* {box-sizing:border-box;}
.box {
height:100px;
background-color:blue;
float:left;
width:calc(20% - 8px);
margin-right:10px;
}
.box:nth-child(5) {margin-right:0;}
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
推荐阅读
- angular - 如何使用角度和数据库制作传单地图?
- python-3.x - Tensorflow TypeError:“numpy.ndarray”对象不可调用
- mongodb - 如何配置并连接到托管服务提供商服务器上的远程 MongoDB 服务器?
- python - Elasticsearch for python - 调用未正确阻塞
- windows-10 - 从文件名中提取日期戳并插入到 Date Taken meta (Windows)
- reactjs - React:对象作为 React 子级无效(找到:带键的对象。如果您打算渲染子级集合,请改用数组
- gatling - Gatling:在 .check(regex) 中提取多个组
- kubernetes - 使用 Kubeadm 部署本地 Docker 镜像
- php - 非常基本的 SQL 制作页面炸弹
- laravel-controller - 有什么方法可以在标签中发送 METHOD 值