Как сделать адаптивные уши на сайте с центрированием контента

    При разработке адаптивных макетов часто возникает задача: создать боковые отступы (уши), которые плавно уменьшаются при сужении экрана, а содержимое основного блока (например, магазина) пропорционально сжимается и остаётся по центру. В этой статье разберём, как добиться такого поведения без обрезки контента, используя CSS и относительные единицы.

    Почему стандартные подходы не работают

    При использовании фиксированной ширины или абсолютных единиц (px) контент может обрезаться справа при уменьшении окна. Автоматическое масштабирование (auto-scale) тоже не подходит, так как оно либо искажает пропорции, либо требует сложных скриптов. Для плавного уменьшения ушей и центрирования содержимого нужно применять относительные единицы и правильные отступы.

    Решение на CSS: отзывчивые уши

    Основная идея - задать ширину блока-контейнера в процентах или vw, а отступы (margin или padding) сделать также относительными. Например, чтобы уши уменьшались с экраном, используйте margin: 0 auto для центрирования и max-width для ограничения роста на больших экранах.

    Пример кода для блока магазина

    .shop-container {
      width: 90%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 5%;
      box-sizing: border-box;
    }

    В этом примере ширина контейнера - 90% от родителя, а отступы слева и справа по 5% от ширины контейнера. При уменьшении экрана ширина контейнера и уши пропорционально уменьшаются. Содержимое внутри (товары, карточки) можно сделать резиновыми с помощью flex или grid.

    Работа с Zero-блоком (Zeroblock)

    Если вы используете конструктор (например, Tilda или аналоги), где есть Zero-блок, проблема часто в том, что при уменьшении ширины блока контент справа обрезается. Это происходит из-за фиксированных позиций элементов внутри. Решение:

    • Установите для Zero-блока ширину в процентах (например, 100%) и отключите фиксированное позиционирование.
    • Внутренние элементы разместите с помощью flexbox или grid, задав им относительные размеры.
    • Добавьте overflow: hidden для обрезки только лишнего, но убедитесь, что основные элементы не выходят за границы.

    Советы по SEO и юзабилити

    Адаптивные уши улучшают пользовательский опыт на мобильных устройствах и планшетах. Для поисковой оптимизации важно, чтобы контент не обрезался и оставался читабельным. Используйте viewport мета-тег и тестируйте на разных разрешениях.

    Проверка на практике

    После внедрения кода откройте страницу в браузере и плавно изменяйте ширину окна. Убедитесь, что уши уменьшаются, а контент центрируется без горизонтальной прокрутки. Если нужно сохранить пропорции изображений, добавьте object-fit: cover или max-width: 100%.

    Часто задаваемые вопросы