Ключевое слово CSS `fit-content`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с ноября 2021 года.
Ключевое слово размера fit-content задает размер элемента, который подстраивается под его содержимое, оставаясь в пределах контейнера. Это ключевое слово гарантирует, что элемент не будет меньше своего минимального внутреннего размера (min-content) или больше своего максимального внутреннего размера (max-content).
Примечание: Это ключевое слово отличается от функции fit-content. Функция используется для задания размера дорожек сетки (например, в свойствах grid-template-columns и grid-auto-rows), а также для задания размера блочных элементов такими свойствами, как width, height, min-width и max-height.
Синтаксис
/* Used in sizing properties */ width: fit-content; height: fit-content; inline-size: fit-content; block-size: fit-content;
Описание
Это ключевое слово используется со свойствами задания размеров, такими как width, height, block-size, inline-size, min-width и max-width. При использовании с этими свойствами вычисленный размер относится к области содержимого элемента.
Если задано значение fit-content, элемент увеличивается или уменьшается, чтобы вместить содержимое, но перестает расширяться, когда соответствующий размер достигает предела размера контейнера.
Размер fit-content вычисляется по следующей формуле:
min(max-content, max(min-content, stretch))
где stretch подгоняет внешние отступы элемента под ширину его блока-контейнера. По сути, это ключевое слово эквивалентно fit-content(stretch).
Анимацию к значению fit-content и от него можно включить с помощью свойства interpolate-size и функции calc-size().
Примеры
Задание размеров блоков с помощью fit-content
HTML
<div class="container">
<div class="item">Item</div>
<div class="item">Item with more text in it.</div>
<div class="item">
Item with more text in it, hopefully we have added enough text so the text
will start to wrap.
</div>
</div>
CSS
.container {
border: 2px solid #cccccc;
padding: 10px;
width: 20em;
}
.item {
width: fit-content;
background-color: #8ca0ff;
padding: 5px;
margin-bottom: 1em;
}
Результат
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
fit-content |
46
22
1–48
|
79
79
|
94
3
|
33
15
15–35
|
11
7
2
|
46
25
18–48
|
94
4
|
33
14
14–35
|
11
7
1
|
5.0
1.5
1.0–5.0
|
46
4.4
4.4–48
|
11
7
1
|
См. также
- Связанные ключевые слова задания размеров:
min-content,max-content - Модуль CSS box sizing
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/fit-content