我正在尝试对移动视图@media only screen and (max-width : 480px)
上的某些卡片进行水平滚动。我在这里读过其他帖子,包括this one,但似乎没有一个适合我。我想我的一个可能问题是,现在我的卡彼此堆叠。
这就是我现在拥有的:
这是我需要实现的:
.mobile-card-container {
display: block;
}
.card-background {
background-color: #ffffff;
border-radius: 6px;
margin-top: 16px;
height: 100px;
-webkit-box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
-moz-box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
}
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<div class="row">
<!-- Mobile Card Container -->
<div class="col-12 mobile-card-container">
<div class="row">
<!-- Card 48 cuotas -->
<div class="col-10 card-background simulacion mx-auto" style="border: 1px solid red;">
Card content
</div>
<!-- /Card 48 cuotas -->
<!-- Card 36 cuotas-->
<div class="col-10 card-background simulacion mx-auto" style="border: 1px solid blue;">
Card Content
</div>
<!-- /Card 36 cuotas -->
<!-- Card 24 cuotas -->
<div class="col-10 card-background simulacion mx-auto" style="border: 1px solid green;">
Card Content
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
.mobile-card-container {
display: block;
}
.card-background {
background-color: #ffffff;
border-radius: 6px;
margin-top: 16px;
height: 100px;
-webkit-box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
-moz-box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
}
<div class="container">
<div class="row">
<!-- Mobile Card Container -->
<div class="col-md-12 mobile-card-container">
<div class="row">
<!-- Card 48 cuotas -->
<div class="col-md-4 card-background simulacion mx-auto" style="border: 1px solid red;">
Card content
</div>
<!-- /Card 48 cuotas -->
<!-- Card 36 cuotas-->
<div class="col-md-4 card-background simulacion mx-auto" style="border: 1px solid blue;">
Card Content
</div>
<!-- /Card 36 cuotas -->
<!-- Card 24 cuotas -->
<div class="col-md-4 card-background simulacion mx-auto" style="border: 1px solid green;">
Card Content
</div>
</div>
答案 1 :(得分:0)
为此,您将必须更改Bootstrap类的默认行为。我们必须在卡片容器上使用flex-nowrap来最小化媒体屏幕,并将 overflow-x 样式更改为 auto 。总之,我们将使用接下来的主要更改:
CSS
@media only screen and (max-width : 576px)
{
.mobile-card-container > .row {
overflow-x: auto;
}
}
请注意,我使用max-width: 576px
是为了与电流Bootstrap Breakpoints兼容。
HTML结构
<!-- Mobile Card Container -->
<div class="container-fluid mobile-card-container">
<div class="row text-center flex-nowrap flex-sm-wrap">
<!-- Cards will be here -->
</div>
</div>
因此,对于 XS 屏幕设备,flex-nowrap
类将与先前定义的样式结合使用,接近您要搜索的样式。在其他类型的屏幕( SM,MD,LG )上,将保留Bootstrap类的默认行为(请注意 flex-sm-wrap 类的用法)。 / p>
要完成此操作,您可以检查下一个工作示例(在全屏模式下播放窗口调整大小的游戏):
@media only screen and (max-width : 576px)
{
.mobile-card-container > .row {
overflow-x: auto;
}
}
.card-background {
background-color: #ffffff;
border-radius: 6px;
margin: 16px 5px;
height: 100px;
-webkit-box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
-moz-box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
box-shadow: 0px 2px 4px 1px rgba(0, 51, 102, 0.1);
}
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<!-- Mobile Card Container -->
<div class="container-fluid mobile-card-container">
<div class="row text-center flex-nowrap flex-sm-wrap">
<!-- Card 48 cuotas -->
<div class="col-10 card-background mx-sm-auto bg-danger">
Card content
</div>
<!-- /Card 48 cuotas -->
<!-- Card 36 cuotas-->
<div class="col-10 card-background mx-sm-auto bg-primary">
Card Content
</div>
<!-- /Card 36 cuotas -->
<!-- Card 24 cuotas -->
<div class="col-10 card-background mx-sm-auto bg-danger">
Card Content
</div>
<!-- /Card 24 cuotas -->
</div>
</div>