Как правило, для кнопки c нет необходимости использовать flexbox.
Для по горизонтали изменить отображение с display: inline
(значение по умолчанию) для отображения block
и добавления выравнивания текста по центру.
a{
display: block;
text-align: center;
background: lightgray;
}
<a class="navigation-item__link" href="/auth">Login</a>
Иногда вы хотите выровнять кнопки inline-block
- самый простой способ сделать это с помощью дополнительной оболочки text-align:center
.
a{
display: inline-block;
padding: 10px 15px;
background: lightgray;
line-height: 1;
}
.align-center{
text-align: center;
}
<div class="align-center">
<a class="navigation-item__link" href="/auth">Log in</a>
<a class="navigation-item__link" href="/auth">Sing up</a>
<br><br>
<a style="display: block;" class="navigation-item__link" href="/auth">Back</a>
</div>
Для V-align - используйте padding-top / bottom (Легче управлять таким пространством, как это, а не по flexbox или по высоте / мин. высота): https://www.w3schools.com/css/css3_buttons.asp
a{
display: block;
text-align: center;
background: lightgray;
padding: 10px 15px;
}
<a class="navigation-item__link" href="/auth">Login</a>
Если вы хотите выровнять кнопку на каком-нибудь "карточном", то флексбокс очень полезен.
a{
display: block;
text-align: center;
background: lightgray;
padding: 10px 25px;
}
.flex-align-v-h{
min-height: 100vh;
background: gray;
display: flex;
align-items: center;
justify-content: center;
}
h1{
text-align: center;
}
<section class="flex-align-v-h">
<div>
<h1>Hello</h1>
<a class="navigation-item__link" href="/auth">Login</a>
</div>
</section>
Если текст не соответствует элементу проверки кнопки (возможно, ваши стили наследуют дополнительный верхний / нижний край / отступ).