iFrame не расширяются до 100% высотой

Функтор является 'понятием' уровня синтаксиса - он упаковывает код в объекте, который можно рассматривать синтаксически как указатель функции - т.е. это можно 'назвать' путем помещения списка параметров в скобках после него. В C++ Вы могли сделать класс функтором переопределяющим оператором ().

Команда А в шаблоне "команда" является объектом что пакеты некоторая выполнимая функциональность, но нет никакого требования для него, чтобы быть функтором. Например, это мог быть класс, который реализует интерфейс ICommand, позволение его команды быть выполненным вызовом Делает ().

10
задан Greg 25 April 2014 в 14:17
поделиться

3 ответа

Причина, по которой высота: 100% не работает, заключается в том, что% высоты не работают работать с детьми, у родителей которых нет явного (не%) роста. Так что это не работает:

parent {
  height: 60%;
}

child {
  height: 100%;
}

а это работает:

parent {
  height: 60em;
}

child {
  height: 100%;
}

Ребенок не знает, что означает 60%, поэтому вместо этого он становится height: auto (высота определяется статическим содержимым внутри него).

Ребенок знает, как вычислить% от 60em, или любую другую явную единицу.

Есть некоторые исключения из этого правила. Один из них, когда и html, и элементам body даны height: 100%, вы можете использовать height: 100% или min-height: 100% для прямого дочернего элемента. (Вы можете попробовать высоту: 96%, как предлагал Пэт, но знайте, что это будут совершенно разные значения для экрана / высоты браузера. При неожиданных размерах вы можете потерять контент.)

Если я не неправильно понимаю HTML, похоже, что у вас есть два прямых потомка: iframe и # container-frame.

Вы можете попробовать абсолютно позиционировать # container-frame в верхней части окна просмотра (так, чтобы он располагался над остальной частью страницы, и под словом «выше» я подразумеваю «ближе к пользователю по оси z»), и если iframe не установлен на 100% высокий, но, возможно, как в примере Пэта, 96% или что-то в этом роде, вы могли бы добавить iframe верхнее заполнение, чтобы освободить визуальное пространство для # container-frame. Если вы этого не сделаете, верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

t установлен на 100%, но, может быть, как в примере Пэта, 96% или что-то в этом роде, вы могли бы тогда, возможно, дать iframe некоторый верхний отступ, чтобы освободить визуальное пространство для # container-frame. Если вы этого не сделаете, верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

t установлен на 100%, но, может быть, как в примере Пэта, 96% или что-то в этом роде, вы могли бы тогда, возможно, дать iframe некоторый верхний отступ, чтобы освободить визуальное пространство для # container-frame. Если вы этого не сделаете, верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

96% или что-то в этом роде, тогда вы могли бы добавить iframe верхний отступ, чтобы визуально освободить место для # container-frame. Если вы этого не сделаете, верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

96% или что-то в этом роде, тогда вы могли бы добавить iframe верхний отступ, чтобы освободить визуальное пространство для # container-frame. Если вы этого не сделаете, верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

Затем вы могли бы добавить iframe верхний отступ, чтобы визуально освободить место для # container-frame. Если вы этого не сделаете, верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

Затем вы могли бы добавить iframe верхний отступ, чтобы визуально освободить место для # container-frame. Если вы этого не сделаете, верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

верхняя часть iframe будет закрыта # container-frame, и люди не смогут ее увидеть. Помните, что вы не можете добавлять верхние или нижние поля, отступы, границы и т. Д. В поле со 100% высотой. Это даст вам нечто большее, чем 100%!

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

Другое исключение из правила% высоты - это вообще абсолютно позиционированные элементы. У них также может быть% height, за исключением того, что IE6 имеет с этим проблемы. Так что возможно абсолютно позиционирование обоих прямых потомков может сработать, если вы не против взлома IE6 или не заботитесь о IE6. Обычно мне не нравится размещать все на странице, но в таком случае это может быть проще всего.

17
ответ дан 3 December 2019 в 21:22
поделиться

Этот CSS должен помочь вам:

body {
  margin: 0;
  padding: 0;
  overflow-y: hidden;
}

Затем установите высоту iframe на 96%. Это остановит его отталкивание от нижней части страницы.

Причина, по которой вам это нужно, заключается в том, что 100% высота iframe рассчитывается как 100% доступной высоты экрана. Поскольку у вас есть div высотой 35 пикселей над iframe, вы получаете iframe, который на 35 пикселей превышает общую высоту экрана.

1
ответ дан 3 December 2019 в 21:22
поделиться

Вы можете попробовать просто использовать вместо