Метод расчёта размера элемента
Классы box-border и box-content задают свойство box-sizing: считаются ли
рамка и внутренние отступы частью заданных ширины и высоты или добавляются к
ним. Берите их, когда размер элемента должен описывать только область
содержимого или когда нужно вернуть обычный для фреймворка расчёт.
Пример
Обоим образцам заданы одинаковые ширина, высота, внутренний отступ и рамка. Пунктир показывает заданный размер. Подпись над образцом — класс, который на нём стоит.
Классы
| Класс | CSS | Значения |
|---|---|---|
box-border |
box-sizing: border-box |
— |
box-content |
box-sizing: content-box |
— |
Условия (что это): ширина экрана — нет; состояния — нет.
Классы и переменные собраны из CSS выпуска и обновляются вместе с ним.
Применение
Расчёт по умолчанию
Базовые стили фреймворка задают box-sizing: border-box всем элементам и
псевдоэлементам ::before и ::after. Заданная ширина или высота уже
включает рамку и внутренние отступы, поэтому box-border нужен только там,
где стиль выше по каскаду изменил расчёт, — например, внутри стороннего
виджета.
Размер области содержимого
box-content относит ширину и высоту только к содержимому: рамка и внутренние
отступы прибавляются снаружи, и элемент становится больше заданного размера.
Это удобно, когда точный размер нужен содержимому — например, холсту или
изображению внутри рамки.
<div class="box-content w-f2 h-e6 p-3 border-8 border-primary">
Содержимое занимает ровно w-f2 × h-e6
</div>
Ограничения
- У семейства нет префиксов ширины экрана и состояния: класс действует на всех экранах.
box-contentна элементе сw-fullделает его шире родителя на рамку и внутренние отступы.