 
                                                                            Резиновая верстка: как сделать сайт гибким без боли
Если ваш сайт выглядит ужасно на разных экранах, скорее всего, вы забыли про резиновую верстку. Это метод, когда размеры блоков задаются не в пикселях, а в относительных единицах – процентах, vw или %vh. Благодаря этому страница подстраивается под любую ширину окна без лишних медиа‑запросов.
Почему резиновая верстка всё ещё актуальна
Сейчас многие сразу бросаются в сложные сетки Grid и Flexbox, но иногда обычные процентные ширины решают задачу быстрее. Резиновая верстка ускоряет загрузку, потому что браузер меньше думает о перерасчётах. К тому же, если вы делаете сайт на конструкторе или в простом HTML‑шаблоне, процентные блоки – ваш лучший друг.
Ключевая идея проста: width: 100% для контейнера, а внутри него элементы получают, например, width: 33.33% для трёх колонок. При любом изменении ширины окна колонки сохраняют пропорции, и пользователь получает одинаковый опыт.
Практические приемы для быстрой гибкой верстки
1. **Контейнер‑процент** – задайте max-width: 1200px и margin: 0 auto для центрального блока. Это ограничит слишком широкие строки на больших мониторах, но оставит гибкость на мобильных.
2. **Относительные отступы** – вместо padding: 20px используйте padding: 2vw. Отступы будут расти вместе с экраном, и дизайн не «съёживается».
3. **Эластичные изображения** – добавьте img { max-width: 100%; height: auto; }. Фото будет уменьшаться, но никогда не выйдет за пределы родителя.
4. **Flexbox как помощник** – если нужны ровные вертикальные центры, задайте display: flex; flex-wrap: wrap; и задайте ширину элементам в процентах. Flex быстро перестроит колонку на узких экранах.
5. **Тест на крайние размеры** – откройте страницу в Chrome DevTools и протяните окно до 320 px и 2560 px. Если блоки ломаются, проверьте, нет ли фиксированных пиксельных ширин.
Ниже пример простой трёхколоночной сетки с резиновой версткой:
<div class="container">
  <div class="col">Колонка 1</div>
  <div class="col">Колонка 2</div>
  <div class="col">Колонка 3</div>
</div>
.container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.col {
  width: 33.33%;
  padding: 1vw;
  box-sizing: border-box;
}
Когда экран ужимается до 600 px, колонки автоматически переходят в одну линию благодаря flex-wrap. Если хотите ещё более гибкую схему, замените width на flex: 1 1 30% – браузер сам подгонит ширину под доступное место.
Помните, что резиновая верстка – фундамент, а уже сверху добавляете медиа‑запросы для точных точек перелома. Делая сайт «резиновым», вы экономите время, а пользователь получает одинаково комфортный опыт независимо от устройства.
Если хотите углубиться, загляните в наши статьи про адаптивный дизайн и CSS Grid. Там найдете готовые шаблоны и коды, которые можно копировать в свой проект. А пока попробуйте переписать одну из своих страниц, заменив фиксированные пиксели на проценты – результат удивит.
