Флекс
Хутка кіруйце размяшчэннем, выраўноўваннем і памерам слупкоў сеткі, навігацыяй, кампанентамі і многім іншым з дапамогай поўнага набору адаптыўных утыліт flexbox. Для больш складаных рэалізацый можа спатрэбіцца карыстацкі CSS.
Уключыць гнуткія паводзіны
Ужывайце display
ўтыліты для стварэння кантэйнера flexbox і пераўтварэння прамых даччыных элементаў у гнуткія элементы. Кантэйнеры і прадметы Flex можна дадаткова мадыфікаваць з дапамогай дадатковых уласцівасцей гнуткасці.
Адаптыўныя варыянты таксама існуюць для .d-flex
і .d-inline-flex
.
.d-flex
.d-inline-flex
.d-sm-flex
.d-sm-inline-flex
.d-md-flex
.d-md-inline-flex
.d-lg-flex
.d-lg-inline-flex
.d-xl-flex
.d-xl-inline-flex
Напрамак
Задайце кірунак гнуткіх элементаў у гнуткім кантэйнеры з дапамогай утыліт напрамкі. У большасці выпадкаў вы можаце апусціць тут гарызантальны клас, бо браўзер па змаўчанні row
. Аднак вы можаце сутыкнуцца з сітуацыямі, калі вам трэба было яўна задаць гэта значэнне (напрыклад, адаптыўныя макеты).
Выкарыстоўвайце .flex-row
, каб усталяваць гарызантальны кірунак (браўзер па змаўчанні) або .flex-row-reverse
пачаць гарызантальны кірунак з супрацьлеглага боку.
Выкарыстоўвайце .flex-column
, каб задаць вертыкальны кірунак або .flex-column-reverse
пачаць вертыкальны кірунак з супрацьлеглага боку.
Адаптыўныя варыянты таксама існуюць для flex-direction
.
.flex-row
.flex-row-reverse
.flex-column
.flex-column-reverse
.flex-sm-row
.flex-sm-row-reverse
.flex-sm-column
.flex-sm-column-reverse
.flex-md-row
.flex-md-row-reverse
.flex-md-column
.flex-md-column-reverse
.flex-lg-row
.flex-lg-row-reverse
.flex-lg-column
.flex-lg-column-reverse
.flex-xl-row
.flex-xl-row-reverse
.flex-xl-column
.flex-xl-column-reverse
Абгрунтаваць змест
Выкарыстоўвайце justify-content
ўтыліты на кантэйнерах flexbox, каб змяніць выраўноўванне flex-элементаў на галоўнай восі (вось X для пачатку, вось Y, калі flex-direction: column
). Абярыце з start
(браўзер па змаўчанні), end
, center
, between
або around
.
Адаптыўныя варыянты таксама існуюць для justify-content
.
.justify-content-start
.justify-content-end
.justify-content-center
.justify-content-between
.justify-content-around
.justify-content-sm-start
.justify-content-sm-end
.justify-content-sm-center
.justify-content-sm-between
.justify-content-sm-around
.justify-content-md-start
.justify-content-md-end
.justify-content-md-center
.justify-content-md-between
.justify-content-md-around
.justify-content-lg-start
.justify-content-lg-end
.justify-content-lg-center
.justify-content-lg-between
.justify-content-lg-around
.justify-content-xl-start
.justify-content-xl-end
.justify-content-xl-center
.justify-content-xl-between
.justify-content-xl-around
Выраўнаваць элементы
Выкарыстоўвайце align-items
ўтыліты на кантэйнерах flexbox, каб змяніць выраўноўванне flex-элементаў па папярочнай восі (вось Y для пачатку, вось X, калі flex-direction: column
). Выберыце з start
, end
, center
, baseline
або stretch
(браўзер па змаўчанні).
Адаптыўныя варыянты таксама існуюць для align-items
.
.align-items-start
.align-items-end
.align-items-center
.align-items-baseline
.align-items-stretch
.align-items-sm-start
.align-items-sm-end
.align-items-sm-center
.align-items-sm-baseline
.align-items-sm-stretch
.align-items-md-start
.align-items-md-end
.align-items-md-center
.align-items-md-baseline
.align-items-md-stretch
.align-items-lg-start
.align-items-lg-end
.align-items-lg-center
.align-items-lg-baseline
.align-items-lg-stretch
.align-items-xl-start
.align-items-xl-end
.align-items-xl-center
.align-items-xl-baseline
.align-items-xl-stretch
Выраўнаваць сябе
Выкарыстоўвайце align-self
ўтыліты для элементаў flexbox, каб індывідуальна змяніць іх выраўноўванне па папярочнай восі (вось y для пачатку, вось х, калі flex-direction: column
). Выберыце з тых жа параметраў, што і align-items
: start
, end
, center
, baseline
, або stretch
(браўзер па змаўчанні).
Адаптыўныя варыянты таксама існуюць для align-self
.
.align-self-start
.align-self-end
.align-self-center
.align-self-baseline
.align-self-stretch
.align-self-sm-start
.align-self-sm-end
.align-self-sm-center
.align-self-sm-baseline
.align-self-sm-stretch
.align-self-md-start
.align-self-md-end
.align-self-md-center
.align-self-md-baseline
.align-self-md-stretch
.align-self-lg-start
.align-self-lg-end
.align-self-lg-center
.align-self-lg-baseline
.align-self-lg-stretch
.align-self-xl-start
.align-self-xl-end
.align-self-xl-center
.align-self-xl-baseline
.align-self-xl-stretch
Запоўніць
Выкарыстоўвайце .flex-fill
клас на серыі аднатыпных элементаў, каб прымусіць іх мець шырыню, роўную іх зместу (або роўную шырыню, калі іх змест не перавышае рамкі), займаючы пры гэтым усю даступную гарызантальную прастору.
Адаптыўныя варыянты таксама існуюць для flex-fill
.
.flex-fill
.flex-sm-fill
.flex-md-fill
.flex-lg-fill
.flex-xl-fill
Расці і змяншацца
Выкарыстоўвайце .flex-grow-*
ўтыліты, каб пераключыць здольнасць гнуткага элемента павялічвацца, каб запоўніць даступную прастору. У прыведзеным ніжэй прыкладзе .flex-grow-1
элементы выкарыстоўваюць усю даступную прастору, дазваляючы астатнім двум элементам згінаць неабходную прастору.
Выкарыстоўвайце .flex-shrink-*
ўтыліты, каб пераключыць здольнасць гнуткага элемента памяншацца пры неабходнасці. У прыведзеным ніжэй прыкладзе другі гнуткі элемент з .flex-shrink-1
вымушаным перанесці яго змесціва ў новы радок, «скарачаючыся», каб даць больш месца для папярэдняга гнуткага элемента з .w-100
.
Адаптыўныя варыянты таксама існуюць для flex-grow
і flex-shrink
.
.flex-{grow|shrink}-0
.flex-{grow|shrink}-1
.flex-sm-{grow|shrink}-0
.flex-sm-{grow|shrink}-1
.flex-md-{grow|shrink}-0
.flex-md-{grow|shrink}-1
.flex-lg-{grow|shrink}-0
.flex-lg-{grow|shrink}-1
.flex-xl-{grow|shrink}-0
.flex-xl-{grow|shrink}-1
Аўтаматычныя маржы
Flexbox можа рабіць даволі дзіўныя рэчы, калі вы змешваеце гнуткае выраўноўванне з аўтаматычнымі палямі. Ніжэй паказаны тры прыклады кіравання гнуткімі элементамі праз аўтаматычныя палі: па змаўчанні (без аўтаматычнага поля), ссоўванне двух элементаў направа ( .mr-auto
) і ссоўванне двух элементаў налева ( .ml-auto
).
На жаль, IE10 і IE11 не падтрымліваюць належным чынам аўтаматычныя палі для гнуткіх элементаў, бацькоўскі элемент якіх мае нестандартнае justify-content
значэнне. Глядзіце гэты адказ StackOverflow для больш падрабязнай інфармацыі.
З выраўноўваннем элементаў
Вертыкальна перамясціце адзін гнуткі элемент уверх або ўніз кантэйнера, змяшаўшы align-items
, flex-direction: column
і margin-top: auto
або margin-bottom: auto
.
Абгарнуць
Зменіце спосаб загортвання гнуткіх элементаў у гнуткі кантэйнер. Выбірайце варыянты без пераносу (па змаўчанні для браўзера) з дапамогай .flex-nowrap
, перанос з дапамогай .flex-wrap
або зваротны перанос з дапамогай .flex-wrap-reverse
.
Адаптыўныя варыянты таксама існуюць для flex-wrap
.
.flex-nowrap
.flex-wrap
.flex-wrap-reverse
.flex-sm-nowrap
.flex-sm-wrap
.flex-sm-wrap-reverse
.flex-md-nowrap
.flex-md-wrap
.flex-md-wrap-reverse
.flex-lg-nowrap
.flex-lg-wrap
.flex-lg-wrap-reverse
.flex-xl-nowrap
.flex-xl-wrap
.flex-xl-wrap-reverse
Парадак
Зменіце візуальны парадак пэўных элементаў flex з дапамогай некалькіх order
утыліт. Мы прапануем толькі варыянты для таго, каб зрабіць элемент першым або апошнім, а таксама скід для выкарыстання парадку DOM. Паколькі order
прымае любое цэлае значэнне (напрыклад, 5
), дадайце карыстальніцкі CSS для любых неабходных дадатковых значэнняў.
Адаптыўныя варыянты таксама існуюць для order
.
.order-0
.order-1
.order-2
.order-3
.order-4
.order-5
.order-6
.order-7
.order-8
.order-9
.order-10
.order-11
.order-12
.order-sm-0
.order-sm-1
.order-sm-2
.order-sm-3
.order-sm-4
.order-sm-5
.order-sm-6
.order-sm-7
.order-sm-8
.order-sm-9
.order-sm-10
.order-sm-11
.order-sm-12
.order-md-0
.order-md-1
.order-md-2
.order-md-3
.order-md-4
.order-md-5
.order-md-6
.order-md-7
.order-md-8
.order-md-9
.order-md-10
.order-md-11
.order-md-12
.order-lg-0
.order-lg-1
.order-lg-2
.order-lg-3
.order-lg-4
.order-lg-5
.order-lg-6
.order-lg-7
.order-lg-8
.order-lg-9
.order-lg-10
.order-lg-11
.order-lg-12
.order-xl-0
.order-xl-1
.order-xl-2
.order-xl-3
.order-xl-4
.order-xl-5
.order-xl-6
.order-xl-7
.order-xl-8
.order-xl-9
.order-xl-10
.order-xl-11
.order-xl-12
Выраўнаваць змест
Выкарыстоўвайце align-content
ўтыліты на кантэйнерах flexbox, каб выраўнаваць гнуткія элементы разам на папярочнай восі. Абярыце з start
(браўзер па змаўчанні), end
, center
, between
, around
або stretch
. Каб прадэманстраваць гэтыя ўтыліты, мы ўвялі flex-wrap: wrap
і павялічылі колькасць гнуткіх элементаў.
Галаву ўверх! Гэта ўласцівасць не ўплывае на асобныя радкі гнуткіх элементаў.
Адаптыўныя варыянты таксама існуюць для align-content
.
.align-content-start
.align-content-end
.align-content-center
.align-content-around
.align-content-stretch
.align-content-sm-start
.align-content-sm-end
.align-content-sm-center
.align-content-sm-around
.align-content-sm-stretch
.align-content-md-start
.align-content-md-end
.align-content-md-center
.align-content-md-around
.align-content-md-stretch
.align-content-lg-start
.align-content-lg-end
.align-content-lg-center
.align-content-lg-around
.align-content-lg-stretch
.align-content-xl-start
.align-content-xl-end
.align-content-xl-center
.align-content-xl-around
.align-content-xl-stretch