【发布时间】:2019-11-07 15:31:23
【问题描述】:
我在一个水平滚动容器上工作,我需要最后一个孩子在滚动结束时从容器的右边界有一个空间,我将最后一个孩子的边距设置为 70px 但是当我完成滚动, las 孩子的右边界卡在容器的右边界,完全忽略了边距。边距是存在的,但它被忽略了。
你可以在这支笔上看到它:
https://codepen.io/CarlosPisarello/pen/JQyOpB
CSS
.container {
display: flex;
flex-wrap: nowrap;
overflow-x: scroll;
overflow-y: visible;
padding-bottom: 35px;
padding-top: 35px;
width: 100%;
.card {
width: 300px;
height: 300px;
border: 1px solid red;
border-radius: 2px;
display: flex;
flex-direction: column;
align-items: center;
box-shadow: 0 15px 15px rgba(red, .3);
margin-bottom: 20px;
margin: 0 20px;
flex: 0 0 auto;
&:first-child {
margin-left: 70px;
}
&:last-child {
margin-right: 70px;
}
}
}
HTML
<div class="container">
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
</div>
【问题讨论】:
-
元素上有边距。但似乎因为您使用的是 flex,所以它不包括容器中的边距。填充似乎也是如此。我会玩弄你的代码笔,看看能不能帮你找到解决办法。