css властивість flex


Властивість flex дозволяє вказати параметри елемента, щоб він ефективно заповнював доступний простір. Елементи можуть бути розтягнуті пропорційно з урахуванням заданого співвідношення або стиснуті, щоб цілком вмістити всі елементи без переносів в один рядок.

Властивість `flex`

Властивість flex — універсальна властивість, яка дозволяє одночасно задати наступні значення:

  • flex-grow
  • flex-shrink
  • flex-basis

У гнучкому контейнері, нащадки можуть бути розташовані у будь-якому напрямку, і можуть змінювати власні розміри: збільшуватися, щоб заповнити батьківський елемент, або зменшуватися, щоб не вилізти за його межі.

За змовчуванням нащадки не можуть бути меншими, ніж їхній вміст. Щоб змінити це, використовуйте властивості min-width i max-width.

автор: Svitlana

Нотатка

Властивість 'flex' працює тільки з гумовими елементами, тобто з тими елементами, у котрих властивість 'display' встановлена як flex (display: flex; або display: inline-flex;).

автор: Svitlana
Нотатка

Рекомендується застосовувати властивість flex для скороченого запису, а не flex-grow, flex-shrink і flex-basis окремо. Тому що це робить стилі коротшими, зрозумілішими, а також тому, що універсальна властивість правильно скидає значення не заданих властивостей до початкового (без задання).

автор: Svitlana
Нотатка

Якщо для властивості задати одне чи два ключових слова, flex-basis автоматично змінює своє значення з auto до 0.

автор: Svitlana

Синтаксис

flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;

Властивість flex може отримувати 7 значень:

flex-grow

Число, яке вказує пропорції флекс елемента всередині контейнера.

автор: Svitlana

flex-shrink

Число, яке вказує коефіцієнт стиснення флексів в контейнері.

автор: Svitlana

flex-basis

Початкова довжина елемента. Можна вибрати зі значень auto, inherit, %, px, em або будь-яку іншу одиницю виміру довжини

автор: Svitlana

auto

Те ж, що й 1 1 auto

автор: Svitlana

initial

Те ж, що й 0 1 auto

автор: Svitlana

none

Встановлює значення властивості у значення без задання.

автор: Svitlana

inherit

Успадковує властивість від свого батьківського елемента

автор: Svitlana

Значення без задання: 0 1 auto
Наслідує: Ні
Анімується: Так
JavaScript синтаксис: object.style.flex="1"

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft Internet Explorer
flex 29.0<br>21.0 -webkit- 28.0<br>18.0 -moz- 9.0<br>6.1 -webkit- 12.1 11.0<br>10.0 -ms-
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Mozilla Firefox Mobile Apple Safari
flex 4.4 28.0 9.2

Приклади

+ запропонувати свій приклад у пісочниці

У кожного елемента flex: 1 — вільний простір ділиться порівну, тож усі три колонки однакової ширини незалежно від довжини вмісту.

HTML

<div id="main">
    <div>короткий</div>
    <div>значно довший вміст усередині</div>
    <div>середній текст</div>
</div>

CSS

#main {
    display: flex;
}

#main div {
    flex: 1;
    padding: 8px;
    border: 1px solid #0172ad;
}
автор: Svitlana

Різні значення властивості

автор: Svitlana

Проста демонстрації дії влативості

автор: Svitlana

Приклад роботи властивості

автор: Svitlana

Динамічний приклад

автор: Svitlana

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід