Кратко
СкопированоСвойство-шорткат, с помощью которого можно указать значение трёх свойств одновременно: flex
, flex
и flex
.
Пример
СкопированоВ примере ниже элемент с классом .item
не будет сужаться или растягиваться. Ширина будет равна 250 пикселям.
.container { display: flex;}.item { flex: 0 0 auto; width: 250px;}
.container { display: flex; } .item { flex: 0 0 auto; width: 250px; }
Как понять
СкопированоКороткий способ одновременно указать сразу несколько значений, сэкономив пару строк кода.
Как пишется
СкопированоПервое значение является обязательным, остальные опциональны.
Значение по умолчанию: 0 1 auto
, что расшифровывается как flex
, flex
, flex
.
Возможные значения
СкопированоРавно значению 0 0 auto
:
.element { flex: none;}
.element { flex: none; }
Одно значение, число без единиц — flex
:
.element { flex: 2;}
.element { flex: 2; }
Одно значение, ширина или высота — flex
:
.element { flex: 10em; flex: 30px; flex: auto; flex: content;}
.element { flex: 10em; flex: 30px; flex: auto; flex: content; }
Два значения — flex
и flex
:
.element { flex: 1 30px;}
.element { flex: 1 30px; }
Два значения — flex
и flex
:
.element { flex: 2 2;}
.element { flex: 2 2; }
Три значения — flex
, flex
и flex
:
.element { flex: 2 2 10%;}
.element { flex: 2 2 10%; }
Глобальные значения:
.element { flex: inherit; flex: initial; flex: unset;}
.element { flex: inherit; flex: initial; flex: unset; }
Подсказки
Скопировано💡 С шорткатом flex
стоит быть осторожным, как и со всеми прочими шорткатами. Хоть он и позволяет экономить пару строк кода, но в случае переопределения одного из значений придётся переписывать свойство целиком, повторяя остальные значения, которые не меняются. В этот момент проще было бы иметь три отдельных свойства и менять значения отдельно.
- Chrome 57, поддерживается
- Edge 79, поддерживается
- Firefox 81, поддерживается
- Safari 9, поддерживается