Кратко
Скопировано:fullscreen
— CSS‑псевдокласс, который совпадает с элементом, переведённым в полноэкранный режим с помощью Fullscreen API. Можно использовать для изменения размеров, скрытия интерфейса страницы и адаптации контента «на весь экран».
Пример
СкопированоНиже фрагмент, показывающий, как можно адаптировать элемент и соседние части интерфейса при входе в полноэкранный режим. Вызов/выход осуществляется через Fullscreen API из JavaScript.
/* Сам элемент во фуллскрине: убираем скругления, растягиваем */.viewer:fullscreen { border-radius: 0; width: 100vw; height: 100vh;}/* Скрыть шапку и подвал страницы, пока активен фуллскрин */.viewer:fullscreen ~ header,.viewer:fullscreen ~ footer { display: none;}/* Кастомные контролы поверх контента во фуллскрине */.viewer:fullscreen .controls { position: fixed; left: 20px; bottom: 20px;}
/* Сам элемент во фуллскрине: убираем скругления, растягиваем */ .viewer:fullscreen { border-radius: 0; width: 100vw; height: 100vh; } /* Скрыть шапку и подвал страницы, пока активен фуллскрин */ .viewer:fullscreen ~ header, .viewer:fullscreen ~ footer { display: none; } /* Кастомные контролы поверх контента во фуллскрине */ .viewer:fullscreen .controls { position: fixed; left: 20px; bottom: 20px; }
// Вход в полноэкранный режимconst el = document.querySelector('.viewer')await el.requestFullscreen()// Выход из полноэкранного режимаawait document.exitFullscreen()
// Вход в полноэкранный режим const el = document.querySelector('.viewer') await el.requestFullscreen() // Выход из полноэкранного режима await document.exitFullscreen()
Как понять
СкопированоFullscreen API выводит выбранный элемент (а не всю страницу) на весь экран. Пока элемент в таком режиме, к нему применяется :fullscreen
. Это состояние снимается при выходе из полноэкранного режима или по инициативе пользователя.
Псевдокласс — только про оформление. Управление режимом делается из JavaScript: Element
и document
.
Подсказки
Скопировано💡 Скрывайте не относящийся к контенту интерфейс в :fullscreen
, чтобы не отвлекать пользователя.
💡 Используйте фиксированное позиционирование контролов и увеличивайте размеры кликабельных областей на весь экран.
💡 Для кросс‑браузерности учитывайте, что некоторые элементы (например, встроенные видео) могут иметь собственные системные панели во фуллскрине.