Кратко
СкопированоСвойство-шорткат, с помощью которого можно указать значение трёх свойств одновременно: 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 29, поддерживается
- Edge 12, поддерживается
- Firefox 20, поддерживается
- Safari 9, поддерживается