логотип PurpleSchool
логотип PurpleSchool

Единицы измерения vw, vh, vmin и vmax в CSS. Полное руководство с примерами

Автор

Дмитрий Нечаев

В веб-дизайне важно создавать адаптивные макеты, которые корректно отображаются на различных устройствах и экранах. CSS предоставляет множество инструментов для этого, и одними из наиболее полезных являются единицы измерения vw, vh, vmin и vmax. Эти единицы измерения зависят от размера окна браузера, что делает их идеальными для создания гибких и адаптивных интерфейсов. В этой статье мы рассмотрим, как работают эти единицы измерения, и приведём примеры их использования.

Что такое vw, vh, vmin и vmax?

vw (viewport width)

Единица измерения vw (viewport width) равна 1% от ширины окна просмотра (viewport). Например, если ширина окна составляет 1000 пикселей, то 1vw будет равен 10 пикселям.

vh (viewport height)

Единица измерения vh (viewport height) равна 1% от высоты окна просмотра. Например, если высота окна составляет 800 пикселей, то 1vh будет равен 8 пикселям.

vmin (viewport minimum)

Единица измерения vmin (viewport minimum) равна 1% от меньшего из размеров окна просмотра, будь то ширина или высота. Если ширина окна составляет 1000 пикселей, а высота — 800 пикселей, то 1vmin будет равен 8 пикселям.

vmax (viewport maximum)

Единица измерения vmax (viewport maximum) равна 1% от большего из размеров окна просмотра. Если ширина окна составляет 1000 пикселей, а высота — 800 пикселей, то 1vmax будет равен 10 пикселям.

Примеры использования vw, vh, vmin и vmax

Пример 1: Адаптивный размер текста

h1 {
    font-size: 5vw;
}

В этом примере размер текста заголовка h1 будет равен 5% от ширины окна просмотра, что обеспечит адаптивность текста на разных экранах.

Пример 2: Полноэкранный фон

.fullscreen {
    width: 100vw;
    height: 100vh;
    background-color: lightblue;
}

В этом примере элемент с классом fullscreen займёт всю ширину и высоту окна просмотра, создавая полноэкранный фон.

Пример 3: Квадратный элемент, адаптирующийся к размеру окна

.square {
    width: 50vmin;
    height: 50vmin;
    background-color: coral;
}

В этом примере элемент с классом square будет иметь ширину и высоту, равные 50% от меньшего размера окна просмотра, что обеспечит пропорциональность на разных экранах.

Пример 4: Гибкая сетка

.grid-container {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 2vmax;
}

.grid-item {
    background-color: lightgreen;
    padding: 2vmax;
}

В этом примере используется гибкая сетка, где зазоры и отступы элементов зависят от большего размера окна просмотра, что создаёт адаптивный дизайн.

Когда использовать vw, vh, vmin и vmax?

vw и vh

Эти единицы полезны, когда вам нужно задать элементы, которые масштабируются в зависимости от размера окна. Например, для создания адаптивного текста, полноэкранных фоновых изображений или элементов, которые должны занимать фиксированный процент от окна просмотра.

vmin и vmax

Эти единицы полезны, когда вам нужно обеспечить пропорциональность элементов на разных экранах. Например, для создания квадратных или круговых элементов, которые сохраняют свои пропорции независимо от соотношения сторон экрана.

Преимущества использования vw, vh, vmin и vmax

  1. Адаптивность: Эти единицы измерения позволяют создавать макеты, которые автоматически подстраиваются под размеры окна просмотра, обеспечивая лучшее отображение на различных устройствах.
  2. Гибкость: Вы можете использовать их в комбинации с другими единицами измерения для создания сложных и динамичных макетов.
  3. Проще масштабировать элементы: Использование vw, vh, vmin и vmax упрощает создание элементов, которые изменяют свои размеры в зависимости от окна просмотра, без необходимости писать сложные медиазапросы.

Заключение

Единицы измерения vw, vh, vmin и vmax предоставляют мощные возможности для создания адаптивных и гибких веб-дизайнов. Они помогают обеспечить согласованное отображение элементов на различных устройствах и экранах, упрощая процесс разработки. Освоив использование этих единиц измерения, вы сможете создавать более динамичные и отзывчивые интерфейсы для ваших веб-проектов.

Единицы измерения sv, lv, dv в CSS. Полное руководство с примерамиСтрелочка вправо

Постройте личный план изучения Css до уровня Middle — бесплатно!

Css — часть карты развития Frontend

  • step100+ шагов развития
  • lessons30 бесплатных лекций
  • lessons300 бонусных рублей на счет

Бесплатные лекции

Все гайды по Css

Полное руководство по использованию свойства will-change в CSSПолное руководство по свойству transform-style в CSSУправление точкой опоры трансформаций в CSS с помощью transform-originИспользование функций CSS-трансформации; Полное руководствоПолное руководство по свойству transform-box в CSSУправление элементами с помощью свойства transform в CSSПолное руководство по свойству perspective-origin в CSSПолное руководство по свойству perspective в CSSПолное руководство по свойству backface-visibility в CSS
Универсальный селектор в CSS. Полное руководство с примерамиСелектор по тегу в CSS. Полное руководство с примерамиПеречисление селекторов в CSS. Полное руководство с примерамиСелектор потомка в CSS. Полное руководство с примерамиСелектор по идентификатору в CSS; Полное руководство с примерамиКомбинированные селекторы в CSS; Полное руководство с примерамиСелектор по классу в CSS; Полное руководство с примерамиСелектор по атрибуту в CSS; Полное руководство с примерами
Псевдокласс selection. Полное руководство с примерамиПсевдоэлементы в CSS. Полное руководство с примерамиПсевдоэлемент placeholder в CSS. Полное руководство с примерамиПсевдоэлемент marker в CSS. Полное руководство с примерамиПсевдоэлемент first-line в CSS. Полное руководство с примерамиПсевдоэлемент first-letter в CSS. Полное руководство с примерамиСвойство content в CSS. Полное руководство с примерамиПсевдоэлемент before в CSS. Полное руководство с примерамиПсевдоэлемент backdrop в CSS. Полное руководство с примерамиПсевдоэлемент after в CSS. Полное руководство с примерами
Псевдокласс where в CSS. Полное руководство с примерамиПсевдокласс visited в CSS. Полное руководство с примерамиПсевдоклассы группы type в CSS. Полное руководство с примерамиПсевдокласс target в CSS. Полное руководство с примерамиПсевдокласс root в CSS. Полное руководство с примерамиПсевдокласс required в CSS. Полное руководство с примерамиПсевдоклассы в CSS. Полное руководство с примерамиПсевдокласс placeholder-shown в CSS. Полное руководство с примерамиПсевдокласс optional в CSS. Полное руководство с примерамиПсевдокласс not в CSS. Полное руководство с примерамиПсевдокласс link в CSS. Полное руководство с примерамиПсевдокласс lang в CSS. Полное руководство с примерамиПсевдокласс is в CSS. Полное руководство с примерамиПсевдоклассы invalid и valid в CSS. Полное руководство с примерамиПсевдокласс indeterminate в CSS. Полное руководство с примерамиПсевдоклассы in-range и out-of-range. Полное руководство с примерамиПсевдокласс hover в CSS. Полное руководство с примерамиПсевдокласс has в CSS. Полное руководство с примерамиПсевдокласс focus-within в CSS. Полное руководство с примерамиПсевдокласс focus-visible в CSS. Полное руководство с примерамиПсевдокласс focus в CSS. Полное руководство с примерамиПсевдокласс empty в CSS. Полное руководство с примерамиПсевдоклассы disabled и enabled в CSS. Полное руководство с примерамиПсевдокласс default в CSS. Полное руководство с примерамиПсевдоклассы группы child в CSS. Полное руководство с примерамиПсевдокласс checked в CSS. Полное руководство с примерамиПсевдокласс active в CSS. Полное руководство с примерами
Функция var в CSS. Полное руководство с примерамиФункция url в CSS. Полное руководство с примерамиФункция repeating-radial-gradient в CSS. Полное руководство с примерамиФункция repeating-linear-gradient в CSS. Полное руководство с примерамиФункция repeating-conic-gradient в CSS. Полное руководство с примерамиФункция radial-gradient в CSS. Полное руководство с примерамиФункция min в CSS. Полное руководство с примерамиФункция max в CSS. Полное руководство с примерамиФункция linear-gradient в CSS. Полное руководство с примерамиФункция image-set в CSS. Полное руководство с примерамиФункции фильтров в CSS. Полное руководство с примерамиФункция conic-gradient в CSS. Полное руководство с примерамиФункция clamp в CSS. Полное руководство с примерамиФункция calc в CSS. Полное руководство с примерамиФункция attr в CSS. Полное руководство с примерами
Вендорные префиксы в CSS. Полное руководство с примерамиКонтекст наложения в CSS. Полное руководство с примерамиСпецифичность в CSS. Полное руководство с примерамиПодход «Pixel Perfect» в верстке сайтов. Полное руководство с примерамиНаследование в CSS. Полное руководство с примерамиCSS-правило. Полное руководство с примерамиКомментарии в CSS. Полное руководство с примерамиПринцип каскада в CSS. Полное руководство с примерамиБлочная модель в CSS. Полное руководство с примерамиСвойство all в CSS. Полное руководство с примерамиПодключение стилей к HTML. Полное руководство с примерами
Полное руководство по свойству will-change в CSSПолное руководство по transition-timing-function в CSSОсновы использования transition-property в CSS; управление плавными переходамиCSS transition-duration; Полное руководство по управлению продолжительностью переходовCSS transition-delay; Полное руководство по управлению задержкой переходовCSS transition; Полное руководство по созданию плавных переходовCSS @keyframes; Полное руководство по созданию анимацийCSS animation-timing-function; Полное руководство по управлению проигрыванием анимацийCSS animation-play-state; Полное руководство по управлению анимациямиCSS animation-name; Полное руководство по заданию имени анимацииCSS animation-iteration-count; Полное руководство по управлению количеством повторений анимацииCSS animation-fill-mode; Полное руководство по управлению состоянием элементов после анимацииCSS animation-duration; Полное руководство по управлению длительностью анимацииCSS animation-direction; Полное руководство по управлению направлением анимацииCSS animation-delay; Полное руководство с примерамиCSS-анимации; Полное руководство с примерами
Открыть базу знаний

Лучшие курсы по теме

изображение курса

HTML и CSS

Антон Ларичев
иконка часов6 бесплатных уроков
иконка звёздочки рейтинга4.8
Frontend
Mobile
изображение курса

TypeScript с нуля

Антон Ларичев
иконка часов6 бесплатных уроков
иконка звёздочки рейтинга4.8
Backend
Frontend
Mobile
изображение курса

Next.js - с нуля

Антон Ларичев
иконка часов8 бесплатных уроков
иконка звёздочки рейтинга4.7
Frontend