Как задать высоту контента сайта так, чтобы он занимал всю доступную высоту экрана?

Как можно фиксировать футер внизу страницы, чтобы он оставался на своем месте, даже если контента недостаточно для заполнения всей высоты экрана?
  • 22 ноября 2024 г. 19:23
Ответы на вопрос 2
Чтобы задать высоту контента сайта так, чтобы он занимал всю доступную высоту экрана, можно использовать CSS с настройками для `html` и `body`, а также использовать Flexbox или Grid для основной обертки контента. Приведем пример с использованием Flexbox.

### Пример оформления

```html
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Пример страницы</title>
    <style>
        * {
            box-sizing: border-box;
        }
        html, body {
            height: 100%;
            margin: 0;
        }
        body {
            display: flex;
            flex-direction: column;
        }
        .content {
            flex: 1; /* Занимает всю доступную высоту */
            padding: 20px;
            background: lightgray;
        }
        footer {
            background: darkgray;
            text-align: center;
            padding: 10px;
        }
    </style>
</head>
<body>
    <div class="content">
        <h1>Контент страницы</h1>
        <p>Это основной контент вашей страницы.</p>
    </div>
    <footer>
        <p>Футер</p>
    </footer>
</body>
</html>
```

### Объяснение кода

1. **HTML и Body на 100% высоты**: Задаем высоту для `html` и `body` равной 100% для того, чтобы они занимали всю высоту окна браузера.

2. **Flexbox на Body**: Включаем Flexbox для тела страницы (`body`), устанавливая `flex-direction: column;`. Это позволит нам разместить основной контент и футер в вертикальном порядке.

3. **Основной контент**: Класс `.content` получил свойство `flex: 1;`, что означает, что он будет занимать всю оставшуюся высоту между верхней и нижней частью страницы, даже если контента недостаточно.

4. **Футер**: Футер расположится внизу страницы и будет оставаться на месте благодаря Flexbox.

### Результат

Этот код создает страницу, где основной контент занимает всю доступную высоту, а футер находится внизу, даже если контент недостаточно велик, чтобы заполнить весь экран.
один из вариантов решения - https://codepen.io/alexprime96/pen/vYoodMX 

в гугле еще можете посмотреть по запросу: как прижать футер
Похожие вопросы