Я пытаюсь привести в порядок свой код, и у меня есть меню, которое я хотел бы организовать немного лучше.
Существует ли способ выравнивания меню в начале, конце или по центру, при этом последний элемент в меню выравнивается по концу?
В настоящее время я вычеркнул все и сохранил основы. Если я удаляю margin-top: auto
из последнего элемента div, все элементы выравниваются по центру, как указано в .menu css.
Если я оставлю margin-top: auto
от последнего div, последний div будет выровнен там, где я хочу, но остальные элементы выровнены вверху, а не там, где он должен.
Вот мой код:
HTML
<div class="header">
<div class="one">one</div>
<div class="two">two</div>
</div>
<div class="menu">
<div class="one">one</div>
<div class="two">two</div>
<div class="three">three</div>
</div>
CSS
.header{
height:70px;
background: red;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-evenly;
}
.header .one {
background: blue;
display: flex;
align-items: center;
padding: 0.5rem 1rem;
}
.header .two {
background: green;
display: flex;
align-items: center;
padding: 0.5rem 1rem;
}
.menu {
width:70px;
height: 100vh;
background: blue;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-evenly;
}
.three {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
}
.menu div:last-of-type {
margin-top: auto;
}
Вот оно в действии: Скрипка