Свойство flex-grow определяет, насколько должен увеличиваться элемент относительно других элементов flex-контейнера. Если все элементы контейнера установлены фактором flex-grow, то они все будут использовать доступное пространство.
Свойство flex-grow используется вместе со свойствами flex-shrink и flex-basis.
Если нет гибких элементов, свойство flex-grow не будет иметь эффекта.
Значение по умолчанию | 0 |
Применяется | К флекс-элементам, в том числе в потоке псевдоэлементов. |
Наследуется | Нет |
Анимируемое | Да. Элементы анимируемы. |
Версия | CSS3 |
DOM синтаксис | object.style.flexGrow = "3"; |
Синтаксис
flex-grow: number | initial | inherit;
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
.box {
width: 320px;
height: 120px;
border: 2px solid #ccc;
display: -webkit-flex; /* Safari */
display: flex;
}
/* Safari 6.1+ */
.box div:nth-of-type(1) {-webkit-flex-grow: 1;}
.box div:nth-of-type(2) {-webkit-flex-grow: 2;}
.box div:nth-of-type(3) {-webkit-flex-grow: 1;}
.box div:nth-of-type(4) {-webkit-flex-grow: 1;}
.box div:nth-of-type(5) {-webkit-flex-grow: 1;}
/* Standard syntax */
.box div:nth-of-type(1) {flex-grow: 1;}
.box div:nth-of-type(2) {flex-grow: 2;}
.box div:nth-of-type(3) {flex-grow: 1;}
.box div:nth-of-type(4) {flex-grow: 1;}
.box div:nth-of-type(5) {flex-grow: 1;}
</style>
</head>
<body>
<h2>Пример свойства flex-grow</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>
В следующем примере синий элемент увеличивается в 6px:
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
.box {
width: 320px;
height: 120px;
border: 2px solid #ccc;
display: -webkit-flex; /* Safari */
display: flex;
}
/* Safari 6.1+ */
.box div:nth-of-type(1) {-webkit-flex-grow: 1;}
.box div:nth-of-type(2) {-webkit-flex-grow: 6;}
.box div:nth-of-type(3) {-webkit-flex-grow: 1;}
.box div:nth-of-type(4) {-webkit-flex-grow: 1;}
.box div:nth-of-type(5) {-webkit-flex-grow: 1;}
/* Standard syntax */
.box div:nth-of-type(1) {flex-grow: 1;}
.box div:nth-of-type(2) {flex-grow: 6;}
.box div:nth-of-type(3) {flex-grow: 1;}
.box div:nth-of-type(4) {flex-grow: 1;}
.box div:nth-of-type(5) {flex-grow: 1;}
</style>
</head>
<body>
<h2>Пример свойства flex-grow</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 | Определяет, насколько должен увеличиваться элемент относительно других гибких элементов того же контейнера. Значение по умолчанию - 0. |
initial | Устанавливает свойство в значение по умолчанию. |
inherit | Значение элемента наследуется от родительского элемента. |
Поддержка браузера
29.0+ 21-28 -webkit- |
28.0+ |
9.0+ 6.1-8.0 -webkit- |
12.1+ |
Практикуйте свои знания
Что такое свойство flex-grow в CSS?
Правильный!
Неправильно!