html,
body {
width: 100%;
height: 100%;
}
body {
background-color:#f4f4f4;
margin: 0;
display: flex;
justify-content: center;
align-items: center;
}
.card {
display: flex;
background-color: #fff;
min-width: 100%;
min-height: 200px;
margin: 1rem;
overflow-x: auto;
}
.card--content {
background-color: #DED3EE;
min-width: 200px;
margin: 5px;
}
<section class="card">
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
</section>
Codepen链接:Click
有帮助吗?
答案 0 :(得分:2)
我认为您正在寻找这种解决方案。
您应该动态计算.card-track
宽度
创建图像滑块时使用此方法
html,
body {
width: 100%;
background-color:#f4f4f4;
display: flex;
justify-content: center;
align-items: center;
}
.card {
background-color: red;
width: 80%;
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
overflow-x: scroll;
}
.card-track {
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
width: calc(200px*10 + 10px*10); /*Card content width x no of iems + margins */
}
.card--content {
background-color: #DED3EE;
width: 200px;
height: 120px;
margin: 5px;
float: left;
}
<section class="card">
<div class="card-track">
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
<div class="card--content"></div>
</div>
</section>
答案 1 :(得分:1)
您需要做的就是将卡的间距从边距更改为填充,并为每个卡添加一个内部容器。
溢价幅度不会将项目推送到父容器中,而是会将兄弟姐妹推送到外部。由于您已隐藏了溢出(通过自动/滚动),因此可以margin-right: 0;
一个相对简单的解决方法是改用padding。但是,您必须创建一个内部容器,以便可以在内容上使用填充,以便将背景颜色包含在间隔中。
您可以在此处看到一个有效的示例:https://codepen.io/rjhewitt3/pen/MqYjeg