CSS свойство flex-shrink

Свойство 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 Значение элемента наследуется от родительского элемента.

Поддержка браузера

chrome firefox safari opera
29.0+
21-28 -webkit-
28.0+ 9.0+
6.1-8.0 -webkit-
12.1+

Практикуйте свои знания

What describes the CSS property 'flex-shrink'?
Считаете ли это полезным?