Какие CSS свойства влияют на размеры блочного элемента?
Основы CSS
На размеры блочного элемента влияют свойства размеров, box model и контекст раскладки, в котором он находится.
Свойства размеров
width,heightи ограниченияmin-*,max-*;aspect-ratio— задаёт пропорции, если указана только одна сторона.
Box model
paddingиborder— добавляются к размеру или входят в него в зависимости отbox-sizing;margin— не меняет размер самого блока, но влияет на занимаемое место (аmargin: auto— на положение).
Содержимое и переполнение
- без заданной высоты блок растёт по содержимому;
overflowрешает, что делать, если содержимое больше блока;- длинные слова без переносов распирают блок — помогает
overflow-wrap: anywhere.
Контекст
- во flex-контейнере —
flex-grow,flex-shrink,flex-basis; - в grid — размеры дорожек (
fr,minmax); position: absoluteсtopиbottomрастягивает блок по высоте.
.card {
box-sizing: border-box;
width: min(100%, 400px);
padding: 16px;
aspect-ratio: 4 / 3;
}Коротко для собеседования
Размер задают width/height с min/max и aspect-ratio, к ним добавляются padding и border (по box-sizing), а во flex и grid размер ещё определяет контейнер.
Подробнее: MDN — Размеры элементов