Для вложенного flexbox (.menu
) по умолчанию установлено значение flex-grow: 0
, что означает, что он не будет занимать всю длину родительского элемента.
Следовательно, применение justify-content: center
не имеет эффект, потому что в контейнере нет свободного места.
Добавление flex-grow: 1
обеспечивает необходимое дополнительное пространство:
Добавьте это к своему коду:
.menu {
display: flex;
flex: 1;
justify-content: center;
}
Кроме того, поскольку вы уже используете семантически значимый элемент nav
, в действительности нет необходимости вложенный элемент списка. Попробуйте вместо этого этот упрощенный код:
.menu {
display: flex;
justify-content: center;
background-color: rgb(190, 13, 13);
}
.menu a {
padding: 25px 10px;
}
.menu a:hover {
background-color: orangered;
}
<nav class="menu">
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Products</a>
<a href="#">Contacts</a>
</nav>