Чтобы устранить эту ошибку, вы можете попробовать следующие методы с примерами кода:
- Установить фиксированную высоту: укажите фиксированную высоту для горизонтального окна просмотра. Это гарантирует, что макет будет правильно размещен в области просмотра.
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">
- Используйте медиазапросы CSS. Используйте медиазапросы CSS для стилизации элементов в зависимости от высоты области просмотра. Это позволяет создавать разные макеты для экранов разных размеров.
@media (max-height: 600px) {
/* Styles for smaller viewports */
}
@media (min-height: 601px) {
/* Styles for larger viewports */
}
- Реализовать переполнение: примените свойство
overflowк родительскому контейнеру горизонтальной области просмотра. Это помогает контролировать переполнение содержимого, когда высота превышает область просмотра.
.container {
overflow-x: auto;
overflow-y: hidden;
}
- Используйте JavaScript для динамической регулировки высоты: динамически рассчитайте и задайте высоту горизонтальной области просмотра в зависимости от доступного пространства.
function setViewportHeight() {
var viewport = document.querySelector('meta[name="viewport"]');
var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
viewport.setAttribute('content', 'width=device-width, height=' + height + ', initial-scale=1.0');
}
window.addEventListener('resize', setViewportHeight);
Эти методы помогают гарантировать, что горизонтальная область просмотра имеет определенную высоту, предотвращая ошибку «Горизонтальной области просмотра была задана неограниченная высота» и обеспечивая правильное расположение на мобильных устройствах.