Свойство flex-shrink определяет, насколько будет уменьшаться элемент относительно других элементов flex-контейнера. Если элементы больше контейнера, они уменьшаются, чтобы поместиться в контейнере. Если свойство flex-shrink не включено в сокращенное объявление flex, значение будет установлено 1 по умолчанию. Если нет гибких элементов, свойство flex-shrink не будет иметь эффекта.
Фактор свойства flex-shrink увеличивается при помощи flex-basis, когда есть распределенное отрицательное пространство.
Значение по умолчанию | 1 |
Применяется | К флекс-элементам, в том числе в потоке псевдоэлементов. |
Наследуется | Нет |
Анимируемое | Да. Элементы анимируемы. |
Версия | CSS3 |
DOM синтаксис | object.style.flexShrink = "4"; |
Синтаксис
flex-shrink: number | initial | inherit;
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
.box {
width: 320px;
height: 120px;
border: 1px dotted #666;
display: -webkit-flex; /* Safari */
display: flex;
}
.box div {
-webkit-flex-grow: 1; /* Safari 6.1+ */
-webkit-flex-shrink: 3; /* Safari 6.1+ */
-webkit-flex-basis: 100px; /* Safari 6.1+ */
flex-grow: 1;
flex-shrink: 3;
flex-basis: 100px;
}
.box div:nth-of-type(2) {
-webkit-flex-shrink: 7; /* Safari 6.1+ */
flex-shrink: 7;
}
</style>
</head>
<body>
<h2>Пример свойства flex-shrink</h2>
<div class="box">
<div style="background-color: #eee;"></div>
<div style="background-color: #1c87c9;"></div>
<div style="background-color: #8ebf42;"></div>
<div style="background-color :#ccc;"></div>
<div style="background-color: #666;"></div>
</div>
</body>
</html>
Значения
Значение | Описание |
---|---|
number | Определяет, насколько должен уменьшаться элемент относительно остальных гибких элементов того же контейнера. Значение по умолчанию - 1. |
initial | Устанавливает свойство в значение по умолчанию. |
inherit | Значение элемента наследуется от родительского элемента. |
Поддержка браузера
29.0+ 21-28 -webkit- |
28.0+ |
9.0+ 6.1-8.0 -webkit- |
12.1+ |
Практикуйте свои знания
What describes the CSS property 'flex-shrink'?
Правильный!
Неправильно!