Похоже, вы используете какой-то инструмент динамической таблицы стилей (например, LESS). Обычно инструменты динамической таблицы стилей позволяют использовать JavaScript. Таким образом, вы можете определить высоту как:
@height: `window.innerHeight + 'px'`;
А потом добавить что-то вроде
body{
...
min-height: @height;
}
Конечно, проблема в том, что если бы пользователь изменил размер своего окна браузера, макет не обновился бы соответствующим образом. Вы можете использовать обратный вызов window.onresize
для обработки этого.
Конечно, вы можете использовать JavaScript для обработки всего этого. Конечно, некоторые категорически против использования JavaScript для стилизации (разделение поведения, контента и стиля), при попытке чего-то вроде липкого нижнего колонтитула иногда проще просто написать две строки JavaScript, чем пытаться придумать какой-нибудь умный CSS, который может работать или не работать в каждом браузере, на который вы пытаетесь настроить таргетинг. Если у пользователя отключен JavaScript, то страница просто не заполняет всю высоту страницы на страницах с меньшим содержанием.
window.onload = window.onresize = function(){
document.body.style.minHeight = (window.innerHeight-204) + "px";
// -4px for the border
// -200px for the padding on your body element
}