【发布时间】:2019-06-17 18:53:58
【问题描述】:
我有一个水平滚动的 div,它的左右填充为 100 像素。左侧填充似乎工作正常。但是,右侧是不可见的。更何况最后一节的50px右边距也不见了。
我错过了什么?为什么右边的 padding 和 margin 都不被尊重?
body {
margin: 0;
}
div {
width: 100vw;
display: flex;
overflow: auto;
padding: 0 100px;
box-sizing: border-box;
}
section {
flex: 0 0 auto;
width: 300px;
margin: 0 15px;
height: 300px;
background: red;
}
<div>
<section></section>
<section></section>
<section></section>
</div>
更新
根据@chaitanya swami 的建议,以下是一种解决方法。我仍然想知道为什么上述方法没有按预期工作。
body {
margin: 0;
}
#wrapper {
width: 100vw;
overflow: auto;
}
#carousel {
display: flex;
padding: 0 100px;
width: calc(100vw + 400px);
}
.slide {
flex: 0 0 auto;
width: 300px;
margin: 0 15px;
height: 300px;
background: red;
}
<div id="wrapper">
<div id="carousel">
<section class="slide"></section>
<section class="slide"></section>
<section class="slide"></section>
</div>
</div>
【问题讨论】:
-
您在评论中所说的意思是说您不希望主 div 的右侧填充,否则块应该位于中心。