css - 带有溢出的 Flex 容器忽略最后一个子边距
问题描述
我正在尝试在 flex 容器上添加宽度约束和水平溢出。
孩子有边距,但我不知道为什么,最后一个边距不在容器中;我可以通过 Chrome 调试看到它,但容器只是忽略它......
有没有办法强制弹性容器考虑这个保证金?
我试着玩flex-wrap
, box-sizing
,即使padding
结果是一样的......
谢谢 !
这是一个可以运行的简单演示;如果你滚动到最后,右边就没有任何空间了。
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<style type="text/css">
.container {
width: 300px;
border: 1px #000 solid;
display: flex;
overflow: auto;
scroll-snap-type: x mandatory;
}
.child {
min-width: 200px;
width: 200px;
border: 1px #f00 solid;
margin: 20px;
scroll-snap-align: center;
}
</style>
</head>
<body>
<div class="container">
<div class="child"><p>blablabla</p><p>blablabla</p></div>
<div class="child"><p>blablabla</p></div>
<div class="child"><p>blablabla</p></div>
<div class="child"><p>blablabla</p></div>
</div>
</body>
</html>
解决方案
忽略边距的是溢出,因为它仅适用于内容。所以内部容器就像你做的那样是解决方案。
使用inline-flex 的工作示例(我删除了 scroll-snap,因为这里没有必要):
.container {
width: 300px;
border: 1px #000 solid;
overflow: scroll;
}
.inner {
display: inline-flex;
}
.child {
min-width: 200px;
width: 200px;
border: 1px #f00 solid;
margin: 20px;
}
<div class="container">
<div class="inner">
<div class="child"><p>blablabla</p><p>blablabla</p></div>
<div class="child"><p>blablabla</p></div>
<div class="child"><p>blablabla</p></div>
<div class="child"><p>blablabla</p></div>
</div>
</div>
推荐阅读
- python - 谷歌表通过共享链接到熊猫,没有python中的凭据
- python - 如何将其他两列的总和相加
- python-3.x - 'NaCl 辅助进程在没有沙箱的情况下运行!' 通过函数打开 URL 时
- python - Python Pandas:组合填充不均匀的数据框
- php - 添加WHERE子句后sql不起作用
- sql - SQL Server 中的自定义排序,在同一列上有多个 case 语句
- sql - 了解查询以生成行号
- firebase - 如何在firebase数据库中创建时间相关值?
- python - 为什么我有几列具有 13 个功能的 MFCC
- numpy - 从每个 numpy 子数组中获取数据的聚合