Адаптивная верстка долгое время требовала сложных media queries, calc() и динамических единиц vw и vh.
Но теперь появилась новая функция, способная существенно упростить весь процесс — 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>
✅ Упрощает 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()
в своих проектах, чтобы быть на шаг впереди всех!
А если вы хотите не просто быть в тренде, но и уверенно развивать навыки программирования, учитесь вместе с нашим приложением Кодик — обучение программированию в формате, который вам точно понравится! 🔥
Не нашли нужной статьи?
Напишите нам и ее сделаем!