Стеки
Сокращенные помощники, которые строятся поверх наших утилит flexbox, чтобы сделать компоновку компонентов быстрее и проще, чем когда-либо.
Стеки предлагают сокращенный способ применения ряда свойств flexbox для быстрого и легкого создания макетов в Bootstrap. Все заслуги за концепцию и реализацию принадлежат открытому проекту Pylon.
Обратите внимание! Поддержка утилит gap с flexbox недоступна в Safari до версии 14.5, поэтому рассмотрите возможность проверки поддержки ваших целевых браузеров. Макет Grid не должен иметь проблем. Подробнее.
Вертикальные
Используйте .vstack
для создания вертикальных макетов. Сложенные элементы по умолчанию занимают всю ширину. Используйте утилиты .gap-*
для добавления пространства между элементами.
<div class="vstack gap-3">
<div class="p-2">Первый элемент</div>
<div class="p-2">Второй элемент</div>
<div class="p-2">Третий элемент</div>
</div>
Горизонтальные
Используйте .hstack
для горизонтальных макетов. Сложенные элементы по умолчанию выровнены по центру по вертикали и занимают только необходимую им ширину. Используйте утилиты .gap-*
для добавления пространства между элементами.
<div class="hstack gap-3">
<div class="p-2">Первый элемент</div>
<div class="p-2">Второй элемент</div>
<div class="p-2">Третий элемент</div>
</div>
Использование утилит горизонтальных отступов, таких как .ms-auto
, в качестве разделителей:
<div class="hstack gap-3">
<div class="p-2">Первый элемент</div>
<div class="p-2 ms-auto">Второй элемент</div>
<div class="p-2">Третий элемент</div>
</div>
<div class="hstack gap-3">
<div class="p-2">Первый элемент</div>
<div class="p-2 ms-auto">Второй элемент</div>
<div class="vr"></div>
<div class="p-2">Третий элемент</div>
</div>
Примеры
Используйте .vstack
для сложения кнопок и других элементов:
<div class="vstack gap-2 col-md-5 mx-auto">
<button type="button" class="btn btn-secondary">Сохранить изменения</button>
<button type="button" class="btn btn-outline-secondary">Отмена</button>
</div>
Создайте строчную форму с помощью .hstack
:
<div class="hstack gap-3">
<input class="form-control me-auto" type="text" placeholder="Добавьте свой элемент сюда..." aria-label="Добавьте свой элемент сюда...">
<button type="button" class="btn btn-secondary">Отправить</button>
<div class="vr"></div>
<button type="button" class="btn btn-outline-danger">Сбросить</button>
</div>
CSS
.hstack {
display: flex;
flex-direction: row;
align-items: center;
align-self: stretch;
}
.vstack {
display: flex;
flex: 1 1 auto;
flex-direction: column;
align-self: stretch;
}