Один элемент внутри <div>намного шире других при использовании flex. Как я могу сделать разделение даже? - PullRequest
0 голосов
/ 31 марта 2020

Я изучаю, как создать веб-сайт с помощью flexbox, и у меня возникают некоторые проблемы с созданием заголовка.

По сути, один элемент <a>, который охватывает элемент <img>, занимает гораздо больше ширина, чем другие элементы, хотя само изображение не так широко.

Вот как это выглядит: https://i.imgur.com/nEpI4xW.png

Вот мой HTML код:

<body>
<div class="main-container">
    <div class="header">
            <a href="index.html">Home</a>
            <a href="order.html">Order</a>
            <a href="index.html"><img src="./images/logo.svg" alt="logo"></a>
            <a href="#">Checkout</a>
            <a href="#">Contact us</a>
    </div>
    <div class="flowers-inventory">
        Flowers Inventory
    </div>
    <div class="tools-inventory">
        Tools Inventory
    </div>
    <div class="footer">
        Footer
    </div>
</div>

Вот код CSS:

    *{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.main-container{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.header{
    display: flex;
    background-color: #f4f4f4;
    align-items: center;
    text-align: center;
    justify-content: space-evenly;
    flex-wrap: nowrap;
}

.header a{
    white-space: nowrap;
    text-decoration: none;
    font-family: Roboto;
    text-transform: uppercase;
    font-size: 16px;
    color: rgb(224, 170, 205);
}


.header img{
    width: 22%;
}

.header .logo{
    margin: 0 -40em;
}

1 Ответ

0 голосов
/ 31 марта 2020

Вы можете использовать flex: 1 0 0; в своих flex-элементах (здесь: .header a селектор)

    *{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.main-container{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.header{
    display: flex;
    background-color: #f4f4f4;
    align-items: center;
    text-align: center;
    justify-content: space-evenly;
    flex-wrap: nowrap;
}

.header a{
    white-space: nowrap;
    text-decoration: none;
    font-family: Roboto;
    text-transform: uppercase;
    font-size: 16px;
    flex: 1 0 0;
    color: rgb(224, 170, 205);
}


.header img{
    width: 22%;
}

.header .logo{
    margin: 0 -40em;
}
<body>
<div class="main-container">
    <div class="header">
            <a href="index.html">Home</a>
            <a href="order.html">Order</a>
            <a href="index.html"><img src="https://cdn.clipart.email/2a1b0b49218f3d58c2b6df1630b609d9_free-rectangle-cliparts-download-free-clip-art-free-clip-art-on-_618-361.jpeg" alt="logo"></a>
            <a href="#">Checkout</a>
            <a href="#">Contact us</a>
    </div>
    <div class="flowers-inventory">
        Flowers Inventory
    </div>
    <div class="tools-inventory">
        Tools Inventory
    </div>
    <div class="footer">
        Footer
    </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...