JavaScript innerHeight — висота області перегляду


Властивість innerHeight повертає висоту видимої області вікна в пікселях.

автор: NagarD

Загальний опис

Найбільший біль тут — мобільні браузери. Адресний рядок на них то ховається при прокрутці, то з'являється, і висота вікна змінюється на льоту. Через це 100vh у CSS роками давав блок, вищий за екран, і низ інтерфейсу зникав під адресним рядком.

Історично це лікували, записуючи innerHeight у CSS-змінну. Сьогодні є нормальне рішення — одиниця dvh (динамічна висота вікна), і милиця більше не потрібна.

автор: NagarD

Порада

Пишеш повноекранний блок — бери height: 100dvh, а не 100vh. На мобільних це рятує від зникнення низу під адресним рядком.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
innerHeight 1+ 1+ 1+ 3+ 12+ 5+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
innerHeight yes yes yes yes

Приклади

+ запропонувати свій приклад у пісочниці

Стара милиця через змінну — і сучасна заміна.

console.log(window.innerHeight);

// історична милиця (більше не потрібна):
// document.documentElement.style.setProperty(
//     '--vh', window.innerHeight * 0.01 + 'px'
// );

// сьогодні достатньо CSS:
// .fullscreen { height: 100dvh; }
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід