Для подхода к этому вам придется изменить поведение по умолчанию классов Bootstrap.Нам нужно будет использовать flex-nowrap на контейнере для карт для самого маленького экрана мультимедиа и изменить стиль overflow-x на auto .Таким образом, мы будем использовать следующие основные изменения nexts:
CSS
@media only screen and (max-width : 576px)
{
.mobile-card-container > .row {
overflow-x: auto;
}
}
Обратите внимание, что я использовал max-width: 576px
для совместимости с токами Точки останова Bootstrap.
структура 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 class).
Чтобы закончить, вы можете проверить следующий рабочий пример (играть с изменением размера окна в полноэкранном режиме):
@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>