Поддерживается ли iframe height = 100% во всех браузерах?
Я использую doctype как:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
В моем коде iframe, если я скажу:
<iframe src="xyz.pdf" width="100%" height="100%" />
Я имею в виду, будет ли она на самом деле принимать высоту оставшейся страницы (так как сверху есть еще один кадр с фиксированной высотой 50 пикселей). Поддерживается ли это во всех основных браузерах (IE / Firefox / Safari)?
Что касается полос прокрутки, хотя я и говорю scrolling="no"
, я вижу отключенные полосы прокрутки в Firefox ... Как мне полностью скрыть полосы прокрутки и автоматически установить высоту iframe?
javascript
html
css
iframe
html-frames
testndtv
источник
источник
Ответы:
Вы можете использовать frameset в качестве предыдущих состояний ответа, но если вы настаиваете на использовании iFrames, должны работать 2 следующих примера:
Альтернатива:
Чтобы скрыть прокрутку с двумя вариантами, как показано выше:
Взломать со вторым примером:
Чтобы скрыть полосы прокрутки iFrame, родительский
overflow: hidden
элемент скрывает полосы прокрутки, а iFrame - до 150% ширины и высоты, что заставляет полосы прокрутки выходить за пределы страницы, а тело не имеет полос прокрутки. Нельзя ожидать, что iframe превысит границы страницы. Это скрывает полосы прокрутки iFrame с полной шириной!источник
3 подхода для создания полноэкранного режима
iframe
:Подход 1 - Длина просмотра в процентах
В поддерживаемых браузерах вы можете использовать длины в процентах от просмотра, например
height: 100vh
.Где
100vh
представляет высоту области просмотра, а также100vw
представляет ширину.Пример здесь
Подход 2 - Фиксированное позиционирование
Этот подход довольно прост. Просто установите расположение
fixed
элемента и добавьтеheight
/width
из100%
.Пример здесь
Подход 3
Для этого последнего метода просто установите для
height
элементовbody
/html
/iframe
значение100%
.Пример здесь
источник
display: block
сделало трюк, чтобы предотвратить двойную полосу прокрутки1. Измените свой DOCTYPE на что-то менее строгое. Не используйте XHTML; это глупо. Просто используйте doctype HTML 5, и все хорошо:
2. Вам может потребоваться убедиться (зависит от браузера), что родительский элемент iframe имеет высоту. И его родитель. И его родитель. И т.д:
источник
Я столкнулся с той же проблемой, я тянул iframe в div. Попробуй это:
Высота установлена на 100vh, что означает высоту окна просмотра. Кроме того, ширина может быть установлена в 100vw, хотя вы, скорее всего, столкнетесь с проблемами, если исходный файл будет отзывчивым (ваш кадр станет очень широким).
источник
Это сработало очень хорошо для меня (только если контент iframe пришел из того же домена ):
источник
iframe
src
домен находится в том же домене, что и родительская страница, в противном случае вы получите сообщение об отказе в разрешенииcontentWindow.document
.источник
источник
Следующие проверенные рабочие
источник
Дополнительно к ответу Акшит Сута: важно явно установить высоту каждого родительского элемента, а также таблицы и столбца, если таковые имеются:
источник
Вы сначала добавляете CSS
Это будет HTML:
источник
Вот краткий код. Он использует метод jquery для определения текущей высоты окна. При загрузке iFrame устанавливает высоту iframe такой же, как текущее окно. Затем для обработки изменения размера страницы тег body имеет обработчик события onresize, который устанавливает высоту iframe при каждом изменении размера документа.
вот рабочий пример: http://jsbin.com/soqeq/1/
источник
Еще один способ создания жидкости на весь экран
iframe
:Встроенное видео заполняет весь
viewport
область при загрузке страницыХороший подход для целевых страниц с видео или любым встроенным контентом. У вас может быть любой дополнительный контент ниже встроенного видео, которое отображается при прокрутке страницы вниз.
Пример:
CSS и HTML код.
источник
http://embedresponsively.com/
Это отличный ресурс, и он работал очень хорошо, несколько раз я использовал его. Создает следующий код ....
источник
Только это работало для меня (но для "одного домена"):
Вы можете использовать либо:
или
источник
Согласно https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe , процентные значения больше не допускаются. Но у меня сработало следующее
Хотя
width:100%
работает,height:100%
не работает. Такwindow.innerHeight
было использовано. Вы также можете использовать пиксели CSS для высоты.Рабочий код: Ссылка Рабочий сайт: Ссылка
источник
источник
Вы можете вызвать функцию, которая будет вычислять высоту тела iframe при загрузке iframe:
источник