@MrFox235
Начинающий веб-разработчик

Как указать высоту для main?

Здравствуйте, у меня есть header с высостой в 60px, какие значения высоты должны быть у main что бы веб страница была во всю высоту экрана?
При написании:
.main {
height: 100vh;
}

страница становится немного больше и с боку появляется полоса прокрутки страницы, мне нужно сделать так что бы main занимал всё свободное пространство под header, и при этом не появлялась полоса прокрутки.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 2
Get-Web
@Get-Web Куратор тега CSS
Front-End Developer
Если высота header фикcированная 60px, то самое просто можно сделать так:

.main {
height: calc(100vh - 60px);
}


А вообще вот один из примеров более гибкого прижатия без фиксированных значений:

Ответ написан
Комментировать
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
Хорошо, конечно, что вы уверены, что высота точно 60. Что вас не волнует никакое переполнение шапки ни по какой из причин (увеличенный шрифт у пользователя, отвалился дизайнерский шрифт, использование переводчиков и другие банальные причины)
Если так, то да, calc и вперед.

Разумнее, задать родителю высоту 100vh и грид. В котором первой строке задан min-content, а для main 1fr, т.е. все оставшееся пространство.
grid-template-rows: min-content 1fr
Аналогично можно сделать и флексом и flex-grow для main.

Так получится универсальное решение, не зависящее от высоты шапки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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