Решение 1: max-width
Самый быстрый способ ограничения ширины вашего фрейма без изменения чего-либо еще - добавить свойство max-width:
.responsive iframe {
max-width: 700px;
}
Вот обновленный Fiddle , демонстрирующий подход с максимальной шириной.
Решение 2: Медиа-запрос
Еще один способ сделать это - использовать медиа-запрос.
Вы бы добавили что-то вроде этого, чтобы ограничить ширину до 700px, если ширина экрана превышает 700.
@media only screen and (min-width: 700px) {
.responsive iframe {
width: 700px;
}
}
Вот Fiddle , демонстрирующий подход медиазапроса.
А вот некоторые ресурсы для получения дополнительной информации о медиа-запросах, которые действительно являются основой адаптивной веб-разработки.
Редактировать: Центрирование
Я пропустил ваше первоначальное требование центрировать iframe.Я обновил обе скрипки с подходом центрирования, который я бы порекомендовал использовать display: flex;
.
.responsive {
display: flex;
flex-direction: column;
align-items: center;
}
Вот некоторые ресурсы для использования гибких стилей:
Примечание о iframes
Хотя вы можете делать некоторые умные вещи с помощью iframes, вы должны знать, что вы не сможете по-настоящему отзывчиво работать со встроенным iframe, еслиВы также управляете кодом внутри фрейма.Другими словами, без явного сообщения, отправляемого со страницы, загруженной в iframe (что почти никогда не происходит, если вы не создали страницу, отображаемую в iframe, а также не создали механизм для отправки сообщений назад и вперед), или без некоторыхЕсли серьезно, то для родительской страницы не существует очевидного / чистого способа узнать что-либо о контенте внутри iframe.Поэтому для всех намерений и целей невозможно (насколько я знаю) рассчитать размер содержимого iframe для размещения родительской страницы.В вашем примере с Bandcamp родительская страница не может узнать, какой должен быть размер iframe Bandcamp в любой момент времени, чтобы в нижней части содержимого iframe не было пустого пространства.Это просто печальная реальность того, как работают фреймы и политики безопасности браузера.
Надеюсь, это поможет.Удачи!