css властивість flex
Властивість flex
дозволяє вказати параметри елемента, щоб він ефективно заповнював доступний простір. Елементи можуть бути розтягнуті пропорційно з урахуванням заданого співвідношення або стиснуті, щоб цілком вмістити всі елементи без переносів в один рядок.
Властивість flex
— універсальна властивість, яка дозволяє одночасно задати наступні значення:
flex-grow
flex-shrink
flex-basis
У гнучкому контейнері, нащадки можуть бути розташовані у будь-якому напрямку, і можуть змінювати власні розміри: збільшуватися, щоб заповнити батьківський елемент, або зменшуватися, щоб не вилізти за його межі.
За змовчуванням нащадки не можуть бути меншими, ніж їхній вміст. Щоб змінити це, використовуйте властивості min-width
i max-width
.
Нотатка: | Властивість 'flex' працює тільки з гумовими елементами, тобто з тими елементами, у котрих властивість 'display' встановлена як |
Нотатка: | Рекомендується застосовувати властивість |
Нотатка: | Якщо для властивості задати одне чи два ключових слова, |
Синтаксис
flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;
Властивість flex може отримувати 7 значень:
flex-grow
Число, яке вказує пропорції флекс елемента всередині контейнера.
flex-shrink
Число, яке вказує коефіцієнт стиснення флексів в контейнері.
flex-basis
Початкова довжина елемента. Можна вибрати зі значень
auto
,inherit
,%
,px
,em
або будь-яку іншу одиницю виміру довжиниauto
Те ж, що й
1 1 auto
initial
Те ж, що й
0 1 auto
none
Встановлює значення властивості у значення без задання.
inherit
Успадковує властивість від свого батьківського елемента
Значення без задання: | 0 1 auto |
---|---|
Наслідує: | Ні |
Анімується: | Так |
JavaScript синтаксис: | object.style.flex="1" |
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
flex | 29.0 |
11.0 |
28.0 |
9.0 |
12.1 |
Переглядач | |||
---|---|---|---|
flex | 4.4 |
28.0 |
9.2 |
Мобільних переглядачів ще не додано.
Приклади
Динамічний приклад
Проста демонстрації дії влативості
Різні значення властивості
Приклад роботи властивості
Всі гумові елементи будуть однакової довжини, незалежно від їх змісту.
#main div {
-webkit-flex: 1; /* Safari 6.1+ */
-ms-flex: 1; /* IE 10 */
flex: 1;
}