Систем мреже
Користите нашу моћну флекбок мрежу која је на првом месту за мобилне уређаје да бисте направили распореде свих облика и величина захваљујући систему од дванаест колона, пет подразумеваних нивоа одзива, Сасс променљивим и миксинама и десетинама унапред дефинисаних класа.
Како то ради
Боотстрап-ов мрежни систем користи низ контејнера, редова и колона за распоред и поравнање садржаја. Направљен је са флексбоксом и потпуно реагује. Испод је пример и детаљан поглед на то како се мрежа спаја.
Нови сте или нисте упознати са флексбоксом? Прочитајте овај Флекбок водич за ЦСС Трицкс за позадину, терминологију, смернице и исечке кода.
Горњи пример креира три колоне једнаке ширине на малим, средњим, великим и екстра великим уређајима користећи наше унапред дефинисане класе мреже. Те колоне су центриране на страници са родитељем .container
.
Ако га разбијемо, ево како то функционише:
- Контејнери обезбеђују средство за центрирање и хоризонтално постављање садржаја вашег сајта. Користите
.container
за ширину пиксела који реагује или.container-fluid
заwidth: 100%
све величине прозора и уређаја. - Редови су омоти за колоне. Свака колона има хоризонтални
padding
(који се назива олуком) за контролу простора између њих. Овоpadding
се онда супротставља на редовима са негативним маргинама. На овај начин, сав садржај у вашим колонама је визуелно поравнат са леве стране. - У распореду мреже, садржај мора бити смештен унутар колона и само колоне могу бити непосредно потомци редова.
- Захваљујући флекбок-у, колоне мреже без наведене
width
ће се аутоматски поставити као колоне једнаке ширине. На пример, четири инстанце.col-sm
ће аутоматски бити широке 25% од мале тачке прекида и више. Погледајте одељак колона са аутоматским распоредом за више примера. - Класе колона означавају број колона које желите да користите од могућих 12 по реду. Дакле, ако желите три колоне једнаке ширине, можете користити
.col-4
. - Колоне
width
с су постављене у процентима, тако да су увек течне и величине у односу на њихов родитељски елемент. - Колоне су хоризонталне
padding
за стварање олука између појединачних колона, међутим, можете уклонитиmargin
из редова иpadding
из колона са.no-gutters
на.row
. - Да би мрежа била прилагодљива, постоји пет преломних тачака мреже, по једна за сваку тачку прекида : све тачке прекида (екстра мале), мале, средње, велике и екстра велике.
- Преломне тачке мреже су засноване на медијским упитима минималне ширине, што значи да се примењују на ту једну тачку прекида и све оне изнад ње (нпр.
.col-sm-4
примењују се на мале, средње, велике и екстра велике уређаје, али не и на првуxs
тачку прекида). - Можете користити унапред дефинисане класе мреже (попут
.col-4
) или Сасс миксине за више семантичког означавања.
Будите свесни ограничења и грешака око флекбок-а , као што је немогућност коришћења неких ХТМЛ елемената као флек контејнера .
Опције мреже
Док Боотстрап користи em
с или rem
с за дефинисање већине величина, px
с се користе за тачке прекида мреже и ширине контејнера. То је зато што је ширина прозора за приказ у пикселима и не мења се са величином фонта .
Погледајте како аспекти Боотстрап грид система функционишу на више уређаја помоћу практичног стола.
Изузетно мали <576пк |
Мала ≥576пк |
Средње ≥768пк |
Велика ≥992 пиксела |
Екстра велика ≥1200 пиксела |
|
---|---|---|---|---|---|
Максимална ширина контејнера | Ништа (аутоматски) | 540пк | 720пк | 960пк | 1140пк |
Префикс класе | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
Број колона | 12 | ||||
Ширина олука | 30 пиксела (15 пиксела са сваке стране колоне) | ||||
Нестабле | да | ||||
Редослед колона | да |
Аутоматски распоред колона
Користите класе колона специфичне за тачку прекида за једноставно одређивање величине колона без експлицитне нумерисане класе као што је .col-sm-6
.
Једнаке ширине
На пример, ево два распореда мреже која се примењују на сваки уређај и оквир за приказ, од xs
до xl
. Додајте било који број класа без јединица за сваку тачку прекида која вам је потребна и свака колона ће бити исте ширине.
Вишелинијски једнаке ширине
Направите колоне једнаке ширине које обухватају више редова тако што ћете уметнути а .w-100
где желите да се колоне преложе на нови ред. Учините паузе прилагодљивим мешањем .w-100
са неким услужним програмима за приказ који реагују .
Постојала је грешка Сафари флекбок која је спречила ово да ради без експлицитног flex-basis
или border
. Постоје заобилазна решења за старије верзије претраживача, али не би требало да буду неопходна ако ваши циљни прегледачи не спадају у верзије са грешкама.
Подешавање ширине једне колоне
Аутоматски распоред за колоне флекбок мреже такође значи да можете да подесите ширину једне колоне и да сродним колонама аутоматски промените величину око ње. Можете користити унапред дефинисане класе мреже (као што је приказано испод), мешавине мреже или ширине у линији. Имајте на уму да ће се величина осталих колона променити без обзира на ширину централне колоне.
Садржај променљиве ширине
Користите col-{breakpoint}-auto
класе за величину колона на основу природне ширине њиховог садржаја.
Респонсиве цлассес
Боотстрап мрежа укључује пет нивоа унапред дефинисаних класа за изградњу сложених респонзивних изгледа. Прилагодите величину својих колона на изузетно малим, малим, средњим, великим или екстра великим уређајима како год вам одговара.
Све тачке прекида
За мреже које су исте од најмањег уређаја до највећег, користите класе .col
и . .col-*
Одредите нумерисану класу када вам је потребна колона посебне величине; у супротном, слободно се држите .col
.
Наслагано до хоризонтале
Користећи један скуп .col-sm-*
класа, можете креирати основни систем мреже који почиње наслагано и постаје хоризонталан на малој тачки прекида ( sm
).
Комбинујете и
Не желите да се ваше колоне једноставно слажу у неке слојеве мреже? Користите комбинацију различитих класа за сваки ниво по потреби. Погледајте пример испод за бољу представу о томе како све то функционише.
Олуци
Олуци се могу прилагодљиво подешавати помоћу допуна специфичних за тачку прекида и класа корисности негативне маргине. Да бисте променили олуке у датом реду, упарите услужни програм негативне маргине на .row
и одговарајући помоћни програм за допуну на .col
с. Можда ће морати да се подеси и родитељ .container
или .container-fluid
да би се избегло нежељено преливање, користећи поново одговарајући услужни програм за допуну.
Ево примера прилагођавања Боотстрап мреже на великој ( lg
) тачки прекида и изнад. Повећали смо .col
паддинг са .px-lg-5
, супротставили то са .mx-lg-n5
на родитељу .row
, а затим смо подесили .container
омотач са .px-lg-5
.
Колоне редова
Користите прилагодљиве .row-cols-*
класе да брзо подесите број колона које најбоље приказују ваш садржај и изглед. Док се нормалне .col-*
класе примењују на појединачне колоне (нпр. .col-md-4
), класе колона реда су постављене на родитељу .row
као пречица.
Користите ове класе колона редова за брзо креирање основних распореда мреже или за контролу изгледа картица.
Такође можете користити пратећи Сасс миксин, row-cols()
:
Поравнање
Користите услужне програме за поравнање флекбок-а за вертикално и хоризонтално поравнање колона. Интернет Екплорер 10-11 не подржава вертикално поравнање флек ставки када флек контејнер има а min-height
као што је приказано у наставку. Погледајте Флекбугс #3 за више детаља.
Вертикално поравнање
Хоризонтално поравнање
Нема олука
Олуци између колона у нашим унапред дефинисаним мрежним класама могу се уклонити помоћу .no-gutters
. Ово уклања негативне margin
с из .row
и хоризонталеpadding
из свих непосредних подређених колона.
Ево изворног кода за креирање ових стилова. Имајте на уму да су замене колона ограничене на само прве подређене колоне и да су циљане преко селектора атрибута . Иако ово генерише специфичнији селектор, допуна колона се и даље може додатно прилагодити помоћу услужних програма за размак .
Треба вам дизајн од ивице до ивице? Испустите родитеља .container
или .container-fluid
.
У пракси, ево како то изгледа. Имајте на уму да ово можете наставити да користите са свим другим унапред дефинисаним класама мреже (укључујући ширине колона, нивое који реагују, промене редоследа и још много тога).
Омотавање колоне
Ако је више од 12 колона постављено у један ред, свака група додатних колона ће се, као једна јединица, премотати у нови ред.
Пошто је 9 + 4 = 13 > 12, овај див ширине 4 колоне се умотава у нови ред као једна суседна јединица.
Наредне колоне се настављају дуж новог реда.
Преломи колона
Прекидање колона у нови ред у флекбок-у захтева мали хак: додајте елемент width: 100%
где год желите да умотате своје колоне у нови ред. Обично се ово постиже са вишеструким .row
с, али не може сваки метод имплементације то објаснити.
Такође можете да примените ову паузу на одређеним тачкама прекида помоћу наших услужних програма за приказ који реагује .
Преуређивање
Наручите часове
Користите .order-
класе за контролу визуелног поретка вашег садржаја. Ове класе су прилагодљиве, тако да можете поставити order
тачку прекида (нпр. .order-1.order-md-2
). Укључује подршку за 1
преко 12
свих пет нивоа мреже.
Постоје и респонсиве .order-first
и .order-last
класе које мењају order
елемент применом order: -1
и order: 13
( order: $columns + 1
), респективно. Ове класе се такође могу мешати са нумерисаним .order-*
класама по потреби.
Оффсетинг колоне
Можете да померите колоне мреже на два начина: наше респонзивне .offset-
класе мреже и наше маргине . Класе мреже су величине тако да одговарају колонама, док су маргине корисније за брзе распореде где је ширина помака променљива.
Офсет класе
Померите колоне удесно користећи .offset-md-*
класе. Ове класе повећавају леву маргину колоне по *
колоне. На пример, .offset-md-4
креће се .col-md-4
преко четири колоне.
Поред брисања колона на одговарајућим тачкама прекида, можда ћете морати да ресетујете помаке. Погледајте ово у акцији у примеру мреже .
Маргин комуналне услуге
Са преласком на флекбок у в4, можете користити услужне програме за маргине као што су .mr-auto
да удаљите сродне колоне једну од друге.
Нестинг
Да бисте свој садржај угнездили са подразумеваном мрежом, додајте нову .row
и скуп .col-sm-*
колона унутар постојеће .col-sm-*
колоне. Угнежђени редови треба да обухватају скуп колона које имају збир до 12 или мање (није обавезно да користите свих 12 доступних колона).
Сасс микинс
Када користите изворне Сасс датотеке Боотстрап-а, имате опцију да користите Сасс променљиве и миксине за креирање прилагођених, семантичких и прилагодљивих изгледа страница. Наше унапред дефинисане класе мреже користе ове исте варијабле и миксине да обезбеде читав пакет класа спремних за употребу за брзо реаговање распореда.
Променљиве
Променљиве и мапе одређују број колона, ширину олука и тачку упита медија у којој ће почети плутајуће колоне. Користимо их да генеришемо унапред дефинисане класе мреже које су горе документоване, као и за прилагођене миксине наведене у наставку.
Микинс
Миксини се користе заједно са варијаблама мреже за генерисање семантичког ЦСС-а за појединачне колоне мреже.
Пример употребе
Можете модификовати променљиве на сопствене прилагођене вредности или једноставно користити миксине са њиховим подразумеваним вредностима. Ево примера коришћења подразумеваних подешавања за креирање распореда са две колоне са размаком између.
Прилагођавање мреже
Користећи наше уграђене мрежне Сасс променљиве и мапе, могуће је потпуно прилагодити унапред дефинисане класе мреже. Промените број слојева, димензије медијског упита и ширине контејнера — а затим поново компајлирајте.
Стубови и олуци
Број колона мреже може се мењати преко Сасс променљивих. $grid-columns
користи се за генерисање ширине (у процентима) сваке појединачне колоне док $grid-gutter-width
поставља ширину за олуке колоне.
Мрежни слојеви
Идући даље од самих колона, такође можете прилагодити број нивоа мреже. Ако желите само четири нивоа мреже, ажурирали бисте $grid-breakpoints
и $container-max-widths
на нешто овако:
Када правите било какве промене у Сасс променљивим или мапама, мораћете да сачувате промене и поново компајлирате. На тај начин ће се добити потпуно нови скуп унапред дефинисаних класа мреже за ширине колона, помаке и редослед. Ажурирани услужни програми за видљивост ће такође бити ажурирани да користе прилагођене тачке прекида. Обавезно поставите вредности мреже у px
(не rem
, em
, или %
).