CSS свойство max-width
Определение и применение
Свойство max-width ограничивает размер элемента. Оно применимо, например, к блокам, заменяемым элементам,
Flexbox- и Grid-элементам; для обычных незаменяемых строчных элементов не задаёт размер бокса.
Попробуйте значения max-width
Задана width: 100%. Максимальная ширина ограничивает растяжение блока.
max-width: none
HTML и CSS примера
<div class="stage">
<div class="demo-target">Размер блока</div>
</div>
* {
box-sizing: border-box;
}
.stage {
width: 100%;
max-width: 300px;
padding: 12px;
border: 2px dashed #607589;
background: #edf2f5;
font: 16px/1.4 system-ui;
color: #172c3d;
}
.demo-target {
background: #ffe4bd;
border: 3px solid #245a85;
padding: 12px;
width: 100%;
max-width: none;
}
* {
box-sizing: border-box;
}
.stage {
width: 100%;
max-width: 300px;
padding: 12px;
border: 2px dashed #607589;
background: #edf2f5;
font: 16px/1.4 system-ui;
color: #172c3d;
}
.demo-target {
background: #ffe4bd;
border: 3px solid #245a85;
padding: 12px;
width: 100%;
max-width: 120px;
}
* {
box-sizing: border-box;
}
.stage {
width: 100%;
max-width: 300px;
padding: 12px;
border: 2px dashed #607589;
background: #edf2f5;
font: 16px/1.4 system-ui;
color: #172c3d;
}
.demo-target {
background: #ffe4bd;
border: 3px solid #245a85;
padding: 12px;
width: 100%;
max-width: 220px;
}
Поддержка браузерами
Спецификация: CSS sizing
Поддерживается во всех основных браузерах с 2015 года.
Отдельные значения (2) поддерживаются не везде — смотрите таблицу.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
max-width | 1 | 12 | 1 Версия 1 выпущена в 2004 г. Примечание MDN (англ.) CSS 2.1 leaves the behavior of | 4 Версия 4 выпущена в 2000 г. Примечание MDN (англ.) CSS 2.1 leaves the behavior of | 1 | 18 | 4 Версия 4 выпущена в 2011 г. Примечание MDN (англ.) CSS 2.1 leaves the behavior of | 14 | 1 | 1.0 | 4.4 | 1 |
anchor-size | 125 | 125 | 147 | 111 | 26 | 125 | 147 | 83 | 26 | 27.0 | 125 | 26 |
fit-content | 46 Версия 46 выпущена в 2015 г. Версия 25 выпущена в 2013 г. — Префикс -webkit- | 79 Версия 79 выпущена в 2020 г. Версия 79 выпущена в 2020 г. — Префикс -webkit- | 94 Версия 94 выпущена в 2021 г. Версия 3 выпущена в 2008 г. — Префикс -moz-; Частичная поддержка Примечание MDN (англ.) Firefox implements the definitions given in CSS3 Basic Box. This defines | 44 | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 2 выпущена в 2005 г. — Имя intrinsic | 46 Версия 46 выпущена в 2015 г. Версия 25 выпущена в 2013 г. — Префикс -webkit- | 94 Версия 94 выпущена в 2021 г. Версия 4 выпущена в 2011 г. — Префикс -moz-; Частичная поддержка Примечание MDN (англ.) Firefox for Android implements the definitions given in CSS3 Basic Box. This defines | 43 | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 1 выпущена в 2007 г. — Имя intrinsic | 5.0 Версия 5.0 выпущена в 2016 г. Версия 1.5 выпущена в 2013 г. — Префикс -webkit- | 46 Версия 46 выпущена в 2015 г. Версия 4.4 выпущена в 2013 г. — Префикс -webkit- | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 1 выпущена в 2007 г. — Имя intrinsic |
| fit-content() | 91 Версия 91 выпущена в 2021 г. — Требуется включение флага | |||||||||||
max-content | 46 Версия 46 выпущена в 2015 г. Версия 22 выпущена в 2012 г. — Префикс -webkit- | 79 Версия 79 выпущена в 2020 г. Версия 79 выпущена в 2020 г. — Префикс -webkit- | 66 Версия 66 выпущена в 2019 г. Версия 3 выпущена в 2008 г. — Префикс -moz- | 44 | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 2 выпущена в 2005 г. — Имя intrinsic | 46 Версия 46 выпущена в 2015 г. Версия 25 выпущена в 2013 г. — Префикс -webkit- | 66 Версия 66 выпущена в 2019 г. Версия 4 выпущена в 2011 г. — Префикс -moz- | 43 | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 1 выпущена в 2007 г. — Имя intrinsic | 5.0 Версия 5.0 выпущена в 2016 г. Версия 1.5 выпущена в 2013 г. — Префикс -webkit- | 46 Версия 46 выпущена в 2015 г. Версия 4.4 выпущена в 2013 г. — Префикс -webkit- | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 1 выпущена в 2007 г. — Имя intrinsic |
min-content | 46 Версия 46 выпущена в 2015 г. Версия 25 выпущена в 2013 г. — Префикс -webkit- | 79 Версия 79 выпущена в 2020 г. Версия 79 выпущена в 2020 г. — Префикс -webkit- | 66 Версия 66 выпущена в 2019 г. Версия 3 выпущена в 2008 г. — Префикс -moz- | 44 | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 2 выпущена в 2005 г. — Имя intrinsic | 46 Версия 46 выпущена в 2015 г. Версия 25 выпущена в 2013 г. — Префикс -webkit- | 66 Версия 66 выпущена в 2019 г. Версия 4 выпущена в 2011 г. — Префикс -moz- | 43 | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 1 выпущена в 2007 г. — Имя intrinsic | 5.0 Версия 5.0 выпущена в 2016 г. Версия 1.5 выпущена в 2013 г. — Префикс -webkit- | 46 Версия 46 выпущена в 2015 г. Версия 4.4 выпущена в 2013 г. — Префикс -webkit- | 11 Версия 11 выпущена в 2017 г. Версия 7 выпущена в 2013 г. — Префикс -webkit- Версия 1 выпущена в 2007 г. — Имя intrinsic |
none | 1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 | 1 |
stretch | 138 Версия 138 выпущена в 2025 г. Версия 22 выпущена в 2012 г. — Имя -webkit-fill-available | 138 Версия 138 выпущена в 2025 г. Версия 79 выпущена в 2020 г. — Имя -webkit-fill-available | 122 Версия 122 выпущена в 2025 г. Версия 15 выпущена в 2013 г. — Имя -webkit-fill-available | 27 Версия 27 выпущена в 2026 г. Версия 7 выпущена в 2013 г. — Имя -webkit-fill-available | 138 Версия 138 выпущена в 2025 г. Версия 25 выпущена в 2013 г. — Имя -webkit-fill-available | 91 Версия 91 выпущена в 2025 г. Версия 14 выпущена в 2013 г. — Имя -webkit-fill-available | 27 Версия 27 выпущена в 2026 г. Версия 7 выпущена в 2013 г. — Имя -webkit-fill-available | 30.0 Версия 30.0 выпущена в 2026 г. Версия 1.5 выпущена в 2013 г. — Имя -webkit-fill-available | 138 Версия 138 выпущена в 2025 г. Версия 4.4 выпущена в 2013 г. — Имя -webkit-fill-available | 27 Версия 27 выпущена в 2026 г. Версия 7 выпущена в 2013 г. — Имя -webkit-fill-available | ||
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
CSS синтаксис:
max-width: none | <length-percentage [0,∞]> |
min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) |
<calc-size()> | <anchor-size()> | stretch;
/* Глобальные значения */
max-width: initial | inherit | unset | revert | revert-layer;
| — выбор варианта; [ ] — группа, а внутри типа — допустимый диапазон; ∞ —
отсутствие верхней границы.
JavaScript синтаксис:
element.style.maxWidth = "100px";Начальное значение свойства
none.
Значения свойства
| Значение | Описание |
|---|---|
none |
Максимальная ширина не предусмотрена. Начальное значение. |
length |
Определяет максимальную ширину (в единицах измерения CSS). |
% |
Определяет максимальную ширину (в процентах). Ширина высчитывается в зависимости от ширины родительского элемента. |
min-content |
Внутренний минимальный размер по содержимому с использованием допустимых переносов. |
max-content |
Внутренний предпочтительный размер содержимого без необязательных переносов. |
fit-content |
Размер ограничивается доступным пространством и внутренними размерами min-content и
max-content. Функция fit-content() задаёт явный предел длиной или процентом; её поддержка зависит
от свойства.
|
stretch |
Растягивает внешний размер элемента до доступного размера содержащего блока с учётом внешних отступов. Поддержку этого значения проверяйте отдельно. |
calc-size() |
Вычисление на основе внутреннего размера, например calc-size(auto, size + 20px). Экспериментальная возможность; поддержку проверяйте отдельно. |
anchor-size() |
Размер якорного элемента, например anchor-size(width). Требует подходящего якоря; поддержку проверяйте отдельно. |
initial
|
Устанавливает начальное значение свойства. |
inherit
|
Наследует вычисленное значение свойства у родительского элемента. |
unset |
Для ненаследуемого свойства max-width устанавливает его
начальное значение.
|
revert |
Отменяет заданное в коде значение свойства для этого элемента: применяются пользовательские или стандартные стили браузера. Если они не задают значение, свойство наследуется или получает начальное значение по обычным правилам. Не возвращает значение из предыдущей строки CSS. |
revert-layer |
Сбрасывает значение свойства для текущего слоя каскада @layer. Применяется значение из другого слоя
по правилам каскада; если подходящего значения нет, возможен откат к стилям пользователя или браузера.
|
Спецификация
CSS Box Sizing — спецификация max-width.
Наследуется
Нет.
Анимируемое
Да, по вычисленному значению: совместимые числовые значения интерполируются плавно. Переход между несовместимыми типами или ключевыми словами может быть дискретным.
Примеры, попробуйте сами
Максимальная ширина
Оба блока запрашивают 100% ширины родителя. В B ширина ограничена 140px. Измените максимум на 100px или none и сравните результат.
base.css
* {
box-sizing: border-box;
}
body {
margin: 16px;
font:
16px/1.4 system-ui,
sans-serif;
color: #172c3d;
}
.comparison {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
gap: 24px;
}
section {
min-width: 0;
}
h3 {
margin: 0 0 12px;
font-size: 16px;
}
.stage {
background: #f1f4f7;
outline: 1px dashed #8495a5;
}
.sample {
background: #c5dbea;
padding: 8px;
overflow-wrap: anywhere;
}
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Максимальная ширина</title>
</head>
<body>
<div class="comparison">
<section>
<h3>Вариант A</h3>
<div class="stage"><div class="sample first">Текст</div></div>
</section>
<section>
<h3>Вариант B</h3>
<div class="stage"><div class="sample second">Текст</div></div>
</section>
</div>
</body>
</html>
style.css
.sample {
width: 100%;
}
.first {
max-width: none;
}
.second {
max-width: 140px;
}