@mhatikov

Как расположить элементы с помощью флексбокс?

Итак, есть макет, который я смог написать на гридах и гридах+флекс, мне также нужно написать этот макет ещё и без помощи гридов. Суть вопроса в том, что флекс элементы, почему-то отказываются занимать пространство на странице, как бы я не пробовал им прописывать свойства. В чём загвоздка и где я что-то пропускаю?

Вот собственно сам макет, как должен выглядеть ( тут он написан на грид+флекс )
60927298746af180389090.png

А вот что получается онли на флексбокс -
6092744243a9c097762668.png

Вот исходники -
Html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link href="css/styles.css" rel="stylesheet">
</head>
<body>

    <header>
        <h1>Header</h1>
    </header>

    <div class="container">

        <nav>
            <strong>Navigation</strong>
        </nav> 

        <main>
            <h1>Main</h1>
        </main>

        <div class= "RelationLinks">
            <strong>Related Links</strong>
        </div>

    </div>

    <footer>Footer</footer>

</body>
</html>


CSS:
body{
    display: flex;
    flex-direction: column;
}

header{
    background:rgb(78, 78, 236) ;
    text-align: center;
    padding: 20px;
    color:azure;
    width: auto;
}

.container{
    display: flex;
    flex-direction: row;
}

nav{
    background: rgb(230, 163, 40);
    padding: 20px;
    flex-grow: 1;
}

main{
    background: white;
    padding: 20px;
    flex-grow: 5;
}

main h1{
    text-align: center;
    color: rgb(78, 86, 202);
}

.RelationLinks{
    background: rgb(238, 11, 49);
    padding: 20px;
    flex-grow: 1;
    
    
}

footer{
    background: green;
    padding: 20px;
    color: azure;
    text-align: center;
    width: auto;
}


Нужно будет добавить ещё медиазапрос на мелкие экраны, но я знаю как это сделать, мне главное с полным экраном разобраться.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
Fox-NT
@Fox-NT
.container{
    display: flex;
    flex-direction: row;
    max-height: 100vh;
    height: 100%;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yupiter7575
@yupiter7575
Python программист
Есть такие свойства как min-,max- width/height
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы