Padding в CSS: способы установки и особенности отрисовки

Согласно блочной модели, отображения CSS padding или поле - это отступ от внешней границы элемента до его контента. CSS позволяет управлять величиной паддинга для каждой стороны блока отдельно или для всех сторон одновременно. Чтобы добиться правильного отображения элемента, важно понимать особенности расчета внутренних отступов.

Блочная модель CSS

Группа padding-свойств

Для описания padding в CSS существует целая группа свойств. Это:

  • padding-top - управляет величиной верхнего поля;
  • padding-right - изменяет правый отступ;
  • padding-bottom - контролирует размер нижнего паддинга;
  • padding-left - устанавливает ширину отступа слева.

Общее свойство padding в CSS позволяет определить все четыре поля в одном правиле. Инструкция может принимать от одного до четырех аргументов:

  • 4 параметра. Паддинги перечисляются по часовой стрелке, начиная с верхнего. Такая запись используется, если каждая сторона имеет свой размер отступа.
// padding: padding-top padding-right padding-bottom padding-left
.element {
  padding: 10px 20px 30px 40px;
}
  • 3 параметра. Если боковые поля равны, их можно сгруппировать в один аргумент. Порядок перечисления: верхнее, левое и правое, нижнее поле.
// padding: padding-top padding-right+padding-left padding-bottom
.element {
  padding: 10px 20px 30px;
}
  • 2 параметра. Попарная группировка верхнего с нижним и левого с правым полей.
//padding: padding-top+padding-bottom padding-right+padding-left
.element {
  padding: 10px 20px;
}
  • 1 параметр. Устанавливает размер сразу для всех паддингов.
.element {
  padding: 10px;
}

Место в структуре блока

Величина padding в CSS по умолчанию включается в общую величину занимаемого элементом места.

.block1 {
  width: 100px;
  height: 100px;
  padding-right: 30px;
  padding-top: 20px;
}

Для элемента .block1 реальный размер будет составлять 130px в ширину и 120px в высоту. Свойства width и height по умолчанию определяют размер контентной области, а padding в CSS измеряется отдельно.

Паддинги прибавляются в размерам контентной части

Единицы измерения

Указать величину паддинга можно в любых единицах расстояния, используемых в CSS - пикселях, процентах, em или rem.

Важно: если отступ определен в процентах, он всегда будет отсчитываться от ширины РОДИТЕЛЬСКОГО элемента, даже если речь идет о верхнем или нижнем поле.

.parent {
  width: 200px;
  height: 100px;
}
.block2 {
  height: 30px;
  width: 100px;
  padding-bottom: 10%;
}

Для блока block2 величина нижнего паддинга будет составлять 20px (10 % от 200px), а реальная высота будет равна 50px.

Паддинг в процентах

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

Поля строчных элементов

Определение внутренних отступов для элементов со строчным типом отображения имеет свои тонкости.

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

span {
  padding-left: 30px;
  padding-right: 20px;
  padding-top: 50px;
  padding-bottom: 40px;
}

Слева и справа от элементов span появятся соответствующие инструкции отступы, но вертикального сдвига строки не будет. На самом деле браузер установит блоку требуемые поля, но это не имеет значения, так как они не влияют на его место в общем потоке.

Паддинги у строчных элементов

Свойство padding в CSS хорошо поддерживается всеми браузерами, включая самые старые, а также может быть анимировано с помощью инструкций animation и transition.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.