Как сделать отступы css?
Привет. Делаю сайтик для брата под его мастрескую, тему готовую взял и там всё съехало после того как картинку поменял, блоки слиплись между собой. Как их щас раздвинуть правильно, чтоб потом не переделывать
Ваш вопрос
Привет. Делаю сайтик для брата под его мастрескую, тему готовую взял и там всё съехало после того как картинку поменял, блоки слиплись между собой. Как их щас раздвинуть правильно, чтоб потом не переделывать
Margin и padding решают разные задачи, и путаница между ними главная причина кривой вёрстки у новичков. Margin это внешний отступ, расстояние между границей элемента и соседними элементами, он может схлопываться у вертикально идущих блоков, то есть два margin по 20px между соседями не суммируются в 40px, а превращаются в один отступ 20px, это стандартное поведение спецификации, а не ошибка браузера. Padding это внутренний отступ, расстояние между границей блока и его содержимым, оно всегда прибавляется к размеру блока, если не переопределён box-sizing.
По умолчанию box-sizing: content-box означает что заданная width не включает padding и border, то есть блок шириной 200px с padding 20px реально займёт 240px, что часто ломает сетку. Решение простое: поставить * { box-sizing: border-box } глобально в начале проекта, тогда padding и border вписываются в заданную ширину, а не добавляются сверху.
Для отступов между элементами списка или карточек в ряд удобнее использовать gap на flex или grid контейнере вместо margin у каждого дочернего элемента, это избавляет от лишнего отступа с внешнего края первого и последнего элемента, который иначе приходится сбрасывать отдельным селектором.
Ещё один момент, про который часто забывают: margin в процентах считается от ширины родителя даже для верхнего и нижнего отступа, а не от высоты, это иногда даёт неожиданный результат при вёрстке адаптивных блоков с вертикальными отступами в процентах.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Ответить на вопрос