Вы добавляете <meta name="viewport" content="width=device-width, initial-scale=1.0">
к вашему <Head>
?
Если да, я собираюсь отредактировать мой пост с решением:)
РЕДАКТИРОВАТЬ
Лучшая статья о создании адаптивных фреймов, которую я нашел до сих пор, - Как создать адаптивный фрейм-фрейм - это просто! .
Существуют три существенных момента:
Не устанавливать атрибуты в открывающем теге iframe, в частности, не ширина и высота
Поместите контейнер div вокруг iframe и используйте CSS height: 0 ;а затем padding-bottom: nn%; , чтобы задать для контейнера высоту, выраженную как отношение высоты: ширины в процентах.
Введите div в строке -webkit-overflow-scrolling: прикосновение и переполнение: авто , которые необходимы для обработки прокрутки на мобильных устройствах и нестабильны в CSS.
Этот код работает для меня:
// HTML (в блоке встраивания, а не в блоке кода)
<div class="iframe-container iframe-container-for-wxh-500x350" style="-webkit-overflow-scrolling: touch; overflow: auto;">
<iframe src="http://www.targetWebsiteURL.com"> <p style="font-size: 110%;"><em><strong>IFRAME: </strong> There is iframe content being displayed here but your browser version does not support iframes.</em> Please update your browser to its most recent version and try again.</p> </iframe>
</div>
// CSS
.iframe-container { position: relative; margin: 5px; height: 0; overflow: hidden; }
.iframe-container-for-wxh-500x350 {
padding: 25px 25px 70% 25px; /* padding-bottom = h/w as a % */
}
.iframe-container iframe {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
border: 1px inset #7a8b8b;
/* put following styles (necessary for overflow and
scrolling handling) in div container around iframe
because not stable in CSS
-webkit-overflow-scrolling: touch;
overflow: auto; */
} ИспользоватьОтдельный класс для стиля padding-bottom , так что, если у вас есть более одного iframe, и они имеют разные отношения wxh, все, что вам нужно сделать, это кодировать класс для каждого и установить padding-внизу в разные проценты.