CSS и вёрстка

Как установить модель CSS

📅 ⏱ 22:06 ⏳ 1 мин 💬 0

Как установить модель css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем тему:

Коротко: «модель CSS» — это блочная модель (box model). Она объясняет, из чего складывается размер блока: контент, внутренние отступы, рамка и внешние поля. Понять её — перестать удивляться, почему блок «шире, чем задано».

Кому и зачемЭто фундамент вёрстки. Если вы уже знаете селекторы, но «плывёте» в размерах и отступах — материал для вас. В конце — примеры и проверка знаний.

Из чего состоит блок

Схема от центра наружу:

  1. content — содержимое (текст, картинка).
  2. padding — внутренний отступ (фон закрашивается).
  3. border — рамка.
  4. margin — внешний отступ (фон не закрашивается).
Часть Что делает Влияет на соседей
padding отступ внутри нет
border рамка да (увеличивает размер)
margin отступ снаружи да (схлопывается по вертикали)

Вкладки: ключевые понятия



CSS
*, *::before, *::after { box-sizing: border-box; }

С border-box ширина включает padding и border — блоки не «расползаются».

CSS
.a { margin-bottom: 30px; }
.b { margin-top: 20px; }  /* между ними будет 30px, а не 50px */

Вертикальные внешние отступы соседних блоков «схлопываются»: остаётся больший. У padding такого нет.

В Chrome DevTools выберите элемент → вкладка Computed: там схема блочной модели с числами (content/padding/border/margin). Очень помогает при отладке.

Практика: три задачи

1. Блок «шире, чем задано»

CSS
.box { width: 200px; padding: 20px; border: 2px solid #ccc; box-sizing: border-box; }
/* ширина остаётся 200px */

2. Расстояние между карточками

CSS
.card { margin-bottom: 16px; }  /* внешний отступ */
.card__body { padding: 20px; }  /* внутренний отступ */

3. Аккуратная «шапка» секции

CSS
.section { padding: 40px 24px; }
.section + .section { margin-top: 32px; }
Совет на все проектыВсегда подключайте box-sizing: border-box глобально. Это экономит часы отладки размеров.

Частые ошибки: причина → решение

Симптом Причина Решение
Блок шире заданного padding/border добавляются box-sizing: border-box
Слишком большой зазор между блоками двойные margin оставить один или использовать gap
Отступ «не там» padding вместо margin выбрать правильный инструмент
Размеры «плывут» не задан box-sizing включить глобально

Проверьте себя

Чек-лист




Что делает box-sizing: border-box?




Вопросы и ответы

К ширине добавляются padding и border. Включите box-sizing: border-box.

Вертикальные внешние отступы соседних блоков объединяются в больший. У padding такого нет.

DevTools → Computed: увидите content, padding, border и margin числами.

Для адаптивных контейнеров — max-width: блок сжимается на узких экранах.

Итоги

  • Блочная модель = content + padding + border + margin.
  • box-sizing: border-box упрощает расчёты.
  • Схлопывание margin — нормальное поведение, помните о нём.
  • Проверяйте Computed в DevTools.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

Пока комментариев нет — будьте первым, кто поделится мнением.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость