Я собираюсь выйти на конечность и сказать, что вы не можете делать то, что хотите, без JavaScript.
Дивы просто не работают. Они, как правило, переполняются по мере необходимости, разливаясь везде. Единственный способ сохранить размер div в соответствии с его содержимым (я говорю на опыте) - дать ему явную высоту. В противном случае он либо выйдет из контейнера, либо, если его контейнер будет собственным block formatting context, его контейнер начнет прокрутку.
IFrame представляется его собственным контекстом. Таким образом, вы ДОЛЖНЫ установить явную высоту, если хотите, чтобы div, который он содержит, сохранял компактность. Два варианта я вижу:
Вы можете добавить параметр для сервера, чтобы изменить высоту страницы:
<iframe src="Default_files/IFrame2.htm?h=400"
Затем создайте содержащий DIV для всей страницы с фиксированной высотой, которая соответствует в пределах фрейма , Все внутри него должно течь должным образом. Затем установите div, у которого может быть много контента с фиксированным размером.
Другой вариант - использовать JavaScript, который, я думаю, может получить именно те переменные, которые вы ищете, используя document.documentElement.clientWidth. See this article for more details. Даже в этом случае вы все равно в конечном итоге устанавливаете рамную страницу на фиксированную высоту.
Оба метода являются обходными обходными методами, но я уверен, что вы не можете делать то, что хотите, только с помощью CSS.
Я попробую ваши предложения. Благодаря! –