Вот простой и понятный процесс, позволяющий вам перейти к макету:
Во-первых, обратите внимание, что CSS псевдоэлементы (т. Е. ::before
и ::after
), когда применяются к гибким контейнерам, обрабатываются как элементы Flex.
Создание псевдоэлемента, который будет служить первым элементом Flex в контейнере.
Использование псевдоэлемента все доступное пространство (т. е. установите его на flex: 1
)
Сделайте то же самое с группой кнопок (.btn-group
) на противоположном конце (т. е. установите на flex: 1
)
Теперь, когда внешние элементы нажимают с обеих сторон, заголовок прикрепляется к середине контейнера.
Сделать контейнер группы кнопок гибким контейнером.
Установите для этого контейнера значение justify-content: center
.
Теперь отдельные кнопки расположены по центру по горизонтали справа от уже центрированного заголовка.
.header {
display: flex;
height: 50px;
align-items: center;
}
.header::before {
content: "";
flex: 1;
}
.btn-group {
flex: 1;
display: flex;
justify-content: center;
}
<div class="header">
<h1 class="title">1</h1>
<div class="btn-group">
<button id="btn_1" class="selected">2</button>
<button id="btn_2">3</button>
<button id="btn_3">4</button>
</div>
</div>
Чтобы лучше понять концепции и методологию работы, см. Этот пост: