Если бы я понял ваши потребности, это было бы то, что вы ищете? Мне пришлось определить явную высоту для вашего заголовка, поскольку в flexbox
нет ничего, что могло бы выровнять элемент по верху другого элемента, оно могло бы выровнять элементы по базовой линии, но я думаю, что это не то, что вы хотите.
Так что мне пришлось учесть размер, позволяющий поместить изображение в конец гибкого контейнера вертикально, чтобы оно совпало с верхом текста. Дайте мне знать!
.header {
background-color:green;
display: flex;
height: 89px;
}
.navbar {
display: flex;
justify-content: space-between;
width: 100%;
}
.navbar__items {
align-items: center;
display: flex;
vertical-align: text-top;
}
.navbar__items > * {
margin-right: 0.75rem;
text-decoration: none;
}
.navbar__items & > *:last-child {
margin-right: 0;
}
.button {
background: red;
border-radius: .1875rem;
color: #fff;
cursor: pointer;
display: inline-block;
font-size: 1rem;
letter-spacing: .0625rem;
padding: .375rem .75rem;
}
.right {
margin-left: auto;
}
.image {
display:block;
}
.box {
align-self: flex-end;
}
<div class="header">
<div class="box"><img src="https://via.placeholder.com/50" class="image"/></div>
<div class="navbar">
<div class="navbar__items">
<a href="">Link 1</a>
<a href="">Link 2</a>
<a href="">Link 3</a>
<a href="">Link 4</a>
</div>
<div class="navbar__items right">
<a href="">Link R1</a>
<a class="button" href="">Button</a>
</div>
</div>
</div>