Свойство
width
Задаёт ширину блока. По умолчанию это ширина содержимого, а с box-sizing border-box — вместе с полями и рамкой.
Пример
<div class="card">Карточка шириной 16rem</div>.card {
width: 16rem;
padding: 1rem;
border: 1px solid;
}Результат
Синтаксис
width: auto | <box-size> | <anchor-size()>;- Начальное значение
- auto
- Применяется к
- всем элементам, кроме строчных незаменяемых, строк и групп строк таблицы
- Наследуется
- нет
- Анимируется
- как длина или процент; ключевые слова — дискретно
- Вычисляемое значение
- процент или auto как указано, длины — в абсолютных единицах
Значения
auto- Ширину вычисляет браузер. Блочный элемент в нормальном потоке растягивается на всю ширину родителя, флекс-элемент и абсолютно позиционированный — сжимаются по содержимому. Значение по умолчанию.
- Длина
- Точная ширина:
300px,20rem,50vw. - Процент
- Процент от ширины содержащего блока.
min-content- Наименьшая ширина, при которой содержимое не вылезает: текст переносится по каждому слову.
max-content- Ширина содержимого без переносов строк.
fit-content- Как
max-content, но не шире доступного места.fit-content(20rem)— то же с верхним пределом. stretch- Растянуть на всю доступную ширину с учётом отступов. Новое значение; раньше браузеры поддерживали его под именами
-webkit-fill-availableи-moz-available.
Как понять
Чаще всего ширину задавать не нужно: блок и так занимает всю строку, а его высота подстраивается под содержимое. Жёсткая ширина нужна кнопкам, иконкам, колонкам с фиксированным размером.
Для текстовых колонок удобнее max-width: блок растягивается на узком экране и перестаёт расти на широком. width: 100% плюс поля с content-box — частая причина горизонтальной прокрутки.
Примеры
Колонка текста
max-width в ch ограничивает длину строки числом символов:
<p class="text">
Строки длиннее 60–75 символов читать тяжело: глазу трудно найти начало следующей строки.
Ограничьте ширину текста — и читать станет легче.
</p>.text {
max-width: 40ch;
}Результат
Ширина по содержимому
fit-content делает блок не шире своего текста — удобно для подписей и плашек:
<p class="badge">Новое</p>
<p class="badge">Скоро в продаже</p>.badge {
width: fit-content;
padding: 0.25rem 0.75rem;
background: gold;
}Результат
Подсказки
- На строчные элементы (
span,a,strong)widthне действует. Сделайте ихinline-blockили блочными. - Процентная ширина считается от содержащего блока, а не всегда от прямого родителя: у абсолютно позиционированного элемента это ближайший позиционированный предок.
- Для адаптивной вёрстки чаще подходят
max-width,min-widthи функцииmin(),max(),clamp(), чем жёсткаяwidth. - В логических свойствах ширине соответствует
inline-size— при горизонтальном письме это одно и то же.
Поддержка браузерами
| Возможность | Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | Samsung Internet | Opera |
|---|---|---|---|---|---|---|---|---|
| width | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 3.5 |
| anchor-size | 125 | 125 | 147 | 26 | 125 | 26 | 27.0 | 111 |
| auto | 1 | 12 | 1 | 1 | 18 | 1 | 1.0 | 15 |
| fit-content | 46 1 | 79 2 | 94 3 | 11 4 | 46 5 | 11 6 | 5.0 7 | 33 8 |
| Функция fit-content() | нет | нет | 91 за флагом | нет | нет | нет | нет | нет |
| Анимируется | 26 | 12 | 16 | 7 | 26 | 7 | 1.5 | 15 |
| max-content | 46 1 | 79 2 | 66 3 | 11 9 | 46 5 | 11 10 | 5.0 7 | 44 |
| min-content | 46 | 79 | 66 3 | 11 11 | 46 | 11 12 | 5.0 | 33 |
| stretch | 138 13 | 138 14 | 146 с префиксом | 27 15 | 138 16 | 27 17 | 5.0 с префиксом | 122 18 |
Примечания
- Chrome: С префиксом -webkit- — с версии 22.
- Edge: С префиксом -webkit- — с версии 79.
- Firefox: С префиксом -moz- — с версии 3.
- Safari: С префиксом -webkit- — с версии 7.
- Chrome Android: С префиксом -webkit- — с версии 25.
- Safari iOS: С префиксом -webkit- — с версии 7.
- Samsung Internet: С префиксом -webkit- — с версии 1.5.
- Opera: С префиксом -webkit- — с версии 15.
- Safari: С префиксом intrinsic — с версии 2.
- Safari iOS: С префиксом intrinsic — с версии 1.
- Safari: С префиксом min-intrinsic — с версии 2.
- Safari iOS: С префиксом min-intrinsic — с версии 1.
- Chrome: С префиксом -webkit-fill-available — с версии 22.
- Edge: С префиксом -webkit-fill-available — с версии 79.
- Safari: С префиксом -webkit-fill-available — с версии 7.
- Chrome Android: С префиксом -webkit-fill-available — с версии 25.
- Safari iOS: С префиксом -webkit-fill-available — с версии 7.
- Opera: С префиксом -webkit-fill-available — с версии 15.
Яндекс Браузер работает на Chromium и поддерживает то же, что Chrome той же версии. Данные: MDN browser-compat-data 8.1.2, обновлено 17 сентября 2026 г.
Спецификация
См. также
- height Задаёт высоту блока
- box-sizing Определяет, что измеряют width и height — только содержимое или весь блок вместе с полями и рамкой.
- padding Задаёт внутренние отступы — поля между содержимым элемента и его рамкой
- margin Задаёт внешние отступы — пустое пространство вокруг рамки элемента, которое отодвигает соседей.