CSS view(): Функция, которая перевернула адаптивную верстку

Узнайте, как применять CSS-функцию view() для создания флюидного дизайна без media queries. Примеры кода, особенности поддержки браузерами. Плюс обучение программированию с приложением Кодик — начните учиться легко и эффективно!

Введение

Адаптивная верстка долгое время требовала сложных media queries, calc() и динамических единиц vw и vh.

Но теперь появилась новая функция, способная существенно упростить весь процесс — view().

Расскажу, как она работает и почему вы уже должны её освоить! 🚀


Что такое view() и как она работает?

view() — это функция, которая динамически рассчитывает размеры элементов в зависимости от окна браузера.

Синтаксис:

view(clamp, min_value, ideal_value, max_value)
  • min_value — минимальный размер

  • ideal_value — идеальный размер (относительный к viewport)

  • max_value — максимальный размер

💡 Итог: флюидный дизайн, который без заметных скачков подстраивается под разные размеры экранов! 📱🖱️🖥️


Практический пример: Адаптивная коробка

🌟 Представьте, что вы пишете код, где контейнер автоматически меняет размер без единой media query!

HTML + CSS:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Демо CSS view()</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: sans-serif;
        }
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background: #222;
            color: white;
            text-align: center;
        }
        .box {
            width: view(clamp, 150px, 50vw, 600px);
            height: view(clamp, 150px, 30vh, 400px);
            background: linear-gradient(135deg, #ff8a00, #e52e71);
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 20px;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
            transition: all 0.3s ease-in-out;
        }
        .box span {
            font-size: view(clamp, 1rem, 3vw, 2rem);
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div class="box">
        <span>Измените размер окна! 🎯</span>
    </div>
</body>
</html>

Почему view() — это революция?

✅ Упрощает CSS: больше не нужны calc() и сложные media queries

✅ Создает более плавную верстку

✅ Улучшает UX: нет проблем с разными размерами экранов

✅ Делает код более читаемым и поддерживаемым


Совместимость с браузерами

  • ✅ Работает в последних версиях Chromium (включая Chrome, Edge, Opera)

  • ⚠️ В Firefox частичная поддержка (включается через about:config)

  • ❌ Safari и старые браузеры пока не поддерживают


Как проверить совместимость?

Перед использованием view() в продакшене обязательно проверьте поддержку:

✅ На сайте Can I Use
✅ Или через CSS-проверку:

@supports (width: view(clamp, 100px, 50vw, 500px)) {
    .box {
        width: view(clamp, 100px, 50vw, 500px);
    }
}

Если поддержка отсутствует, добавьте запасной вариант через clamp() или фиксированные размеры.


Заключение

Функция view() — это будущее адаптивного дизайна! 🚀 Она делает верстку проще, чище и удобнее для пользователей на любых устройствах. Уже сейчас стоит начинать эксперименты с view() в своих проектах, чтобы быть на шаг впереди всех!

А если вы хотите не просто быть в тренде, но и уверенно развивать навыки программирования, учитесь вместе с нашим приложением Кодик — обучение программированию в формате, который вам точно понравится! 🔥

Бесплатно
Кодик: Интерактивное обучение!
Изучай HTML, JavaScript, CSS, Python, PHP, SQL, Git
Проходи практические уроки!
Получи сертификат!
Вам может быть интересно

Не нашли нужной статьи?
Напишите нам и ее сделаем!

Бесплатно
Кодик: Интерактивное обучение!
Изучай HTML, JavaScript, CSS, Python, PHP, SQL, Git
Проходи практические уроки!
Получи сертификат!
Главная
Курсы
Блог
Меню