По сути, я всегда нахожу мне нужно что-то, чтобы заполнить доступное вертикальное пространство без создания полосы прокрутки.
примечание (и ключевая часть этого вопроса) - Я часто этого не делаю у меня нет никакого контроля (или даже знания) - моего родительского контейнера
если я использую 100% - он просто не становится больше.
Если я использую 100vh - это слишком большой размер - потому что родительский контейнер может иметь поля, отступы, заголовки или что-то в этом роде.
И да - я знаю, как использовать flexgrid - и это было бы хорошо, если бы против был только я родительское тело - но я всегда нахожусь в чужом пространстве, которое не контролирую - и может измениться со временем.
Я также знаю, что могу сделать это с помощью Javascript.
Итак, есть ли какой-нибудь способ (с помощью только CSS) сказать «заполните все доступное пространство, чтобы не нужны полосы прокрутки»?
ОК – поясняем: Итак, предположим, что мой HTML-код:
хорошо. p>
Код: Выделить всё
hi there
Код: Выделить всё
body {
padding:40px;
background-color:lightgreen;
}
Код: Выделить всё
.mine
{
width:100%;
height:100%;
background-color:lightblue;
}

и если я это сделаю
Код: Выделить всё
.mine
{
width:100%;
height:100vh;
background-color:lightblue;
}

Вся суть в том, что я вещь, которую помещают в множество разных мест, поэтому я не могу просто делать как Calc( 100vh - 80px ) или что-то в этом роде - потому что это может быть в 50 разных местах из которых могут иметь разные поля, отступы или что-то еще. Интересно то, что горизонтальный всегда работает, потому что всегда предполагается, что мы заполним доступную ширину, поэтому все, что я хочу, это чтобы вертикаль вела себя как горизонтальный
Подробнее здесь: https://stackoverflow.com/questions/786 ... rtical-100