Ссылки навигации flex без медиазапросов

Есть ссылки меню, которые, на десктопе расположены в столбик (сайдбар слева). При изменении размера, сайдбар изменяет положение и приобретает вид узкой полосы между шапкой и контентом. Всё бы ничего, но ссылки в нём размазываются по всей длине. Можно ли как-то это контролировать, чтобы они смещались влево?

.sidebar {
    flex-basis: 20rem;
    flex-grow: 1;
}

.with-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.nav {
    display: flex;
    flex-grow: 1;
    flex-basis: 22vw;
}

<div class="sidebar">
    <ul class="with-nav">
        <li class="nav"><a href="articles.xhtml">Articles</a></li>
        <li class="nav"><a href="store.xhtml">Store</a></li>
        <li class="nav"><a href="contacts">Contacts</a></li>

    </ul>
</div>

Ответы (1 шт):

Автор решения: Vladislav G.

Нужно либо убрать display: flex; для пунктов <li> (здесь это все равно кажется не нужным):

.sidebar {
    flex-basis: 20rem;
    flex-grow: 1;
}

.with-nav {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
}

.nav {
    list-style: none;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="sidebar">
        <ul class="with-nav">
            <li class="nav"><a href="articles.xhtml">Articles</a></li>
            <li class="nav"><a href="store.xhtml">Store</a></li>
            <li class="nav"><a href="contacts">Contacts</a></li>
    
        </ul>
    </div>
</body>
</html>

Либо, если принципиально, чтобы пункты списка <li> имели display: flex;, можно указать максимальную ширину для них:

.sidebar {
    flex-basis: 20rem;
    flex-grow: 1;
}

.with-nav {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
}

.nav {
    display: flex;
    flex-grow: 1;
    flex-basis: 22vw;
    max-width: fit-content;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="sidebar">
        <ul class="with-nav">
            <li class="nav"><a href="articles.xhtml">Articles</a></li>
            <li class="nav"><a href="store.xhtml">Store</a></li>
            <li class="nav"><a href="contacts">Contacts</a></li>
    
        </ul>
    </div>
</body>
</html>

→ Ссылка