Сверстать табы с использованием свойств flexbox в CSS довольно просто и удобно.
Для начала, необходимо создать обертку для табов, в которой будут содержаться сами табы и содержимое для каждого таба. Для этого можно использовать контейнер со свойствами display: flex и flex-direction: column.
<div class="tabs"> <div class="tab">Tab 1</div> <div class="tab">Tab 2</div> <div class="tab">Tab 3</div> </div> <div class="content"> <div class="content-item">Content 1</div> <div class="content-item">Content 2</div> <div class="content-item">Content 3</div> </div>
Затем, необходимо применить свойства flexbox для расположения табов внутри контейнера с помощью свойства justify-content: flex-start, чтобы табы выравнивались в начале контейнера. Также можно использовать свойство align-items: flex-start для выравнивания табов по вертикали.
.tabs { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; } .tab { /* стилизация табов */ }
Далее, при нажатии на каждый таб, необходимо показывать соответствующее содержимое. Для этого можно использовать JavaScript, чтобы добавить класс active на выбранный таб и соответствующему содержимому. Затем, с помощью CSS можно применить свойство order для изменения порядка отображения содержимого в зависимости от выбранного таба.
.content { display: flex; flex-direction: column; } .content-item { /* стилизация содержимого */ order: 1; /* по умолчанию */ } .tab.active { /* стилизация активного таба */ } .tab.active ~ .content .content-item { order: 2; /* изменение порядка содержимого */ }
Таким образом, при клике на таб, будет применяться класс active, который изменит стиль активного таба, а также изменит порядок отображения содержимого для соответствующего таба.