Мрежен систем
Користете ја нашата моќна мрежа за флексибилен прв мобилен телефон за да изградите распоред од сите облици и големини благодарение на системот со дванаесет колони, петте стандардни нивоа кои реагираат, променливите и мешаните Sass и десетици претходно дефинирани класи.
Мрежниот систем на Bootstrap користи серија контејнери, редови и колони за распоред и усогласување на содржината. Изграден е со flexbox и целосно реагира. Подолу е пример и длабински поглед на тоа како мрежата се спојува.
Нов или не сте запознаени со flexbox? Прочитајте го овој водич за Flexbox за трикови за CSS за позадина, терминологија, упатства и фрагменти од код.
Горенаведениот пример создава три колони со еднаква ширина на мали, средни, големи и екстра големи уреди користејќи ги нашите предефинирани класи на мрежа. Тие колони се центрирани во страницата со родителот .container
.
Разградувајќи го, еве како функционира:
- Контејнерите обезбедуваат средство за центрирање и хоризонтално поставување на содржината на вашата страница. Користете
.container
го за респонзивна ширина на пиксели или.container-fluid
заwidth: 100%
сите пристаништа за гледање и големини на уреди. - Редовите се обвивки за колони. Секоја колона има хоризонтална
padding
(наречена олук) за контролирање на просторот меѓу нив. Оваpadding
потоа се спротивставува на редовите со негативни маржи. На овој начин, целата содржина во вашите колони е визуелно порамнета на левата страна. - Во мрежниот распоред, содржината мора да биде поставена во колони и само колоните може да бидат непосредни деца на редови.
- Благодарение на flexbox, мрежните колони без одредено
width
автоматски ќе се распоредат како колони со еднаква ширина. На пример, четири примероци на.col-sm
ќе бидат автоматски широки 25% од малата точка на прекин и нагоре. Погледнете го делот за колони за автоматско распоредување за повеќе примери. - Класите на колони го покажуваат бројот на колони што сакате да ги користите од можните 12 по ред. Значи, ако сакате три колони со еднаква ширина, можете да користите
.col-4
. - Колоните
width
s се поставени во проценти, така што тие се секогаш течни и со големина во однос на нивниот матичен елемент. - Колоните имаат хоризонтални
padding
за создавање на олуци помеѓу поединечни колони, сепак, можете да ги отстранитеmargin
од редовите иpadding
од колоните со.no-gutters
на.row
. - За да се направи решетката да реагира, има пет точки на прекин на мрежата, по една за секоја точка на прекин на одговор : сите точки на прекин (екстра мали), мали, средни, големи и екстра големи.
- Точките на прекин на мрежата се засноваат на барања за медиум со минимална ширина, што значи дека се однесуваат на таа една точка на прекин и сите оние над неа (на пр.,
.col-sm-4
се однесува на мали, средни, големи и екстра големи уреди, но не и на првата точка наxs
прекин). - Може да користите претходно дефинирани класи на мрежа (како
.col-4
) или Sass миксови за повеќе семантичко обележување.
Бидете свесни за ограничувањата и грешките околу flexbox , како што е неможноста да користите некои HTML елементи како флекс контејнери .
Додека Bootstrap користи em
s или rem
s за дефинирање на повеќето големини, px
s се користат за точки на прекин на мрежата и ширина на контејнери. Ова е затоа што ширината на приказот е во пиксели и не се менува со големината на фонтот .
Погледнете како функционираат аспектите на мрежниот систем Bootstrap на повеќе уреди со практична табела.
Екстра мала <576 пиксели |
Мала ≥576 px |
Средно ≥768 px |
Големи ≥992 пиксели |
Екстра голема ≥1200 пиксели |
|
---|---|---|---|---|---|
Максимална ширина на контејнерот | Никој (автоматски) | 540 пиксели | 720 пиксели | 960 пиксели | 1140 пиксели |
Префикс за класа | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# колони | 12 | ||||
Ширина на олукот | 30 px (15 px на секоја страна од колоната) | ||||
Вгнездени | Да | ||||
Редење на колони | Да |
Користете класи на колони специфични за точката на прекин за лесно одредување на големината на колоните без експлицитна нумерирана класа како .col-sm-6
.
На пример, еве два распореди на мрежа што се применуваат на секој уред и приказ на гледање, од xs
до xl
. Додајте кој било број класи без единици за секоја точка на прекин што ви треба и секоја колона ќе биде со иста ширина.
Колоните со еднаква ширина може да се поделат на повеќе линии, но имаше грешка во Safari flexbox што го спречи ова да работи без експлицитна flex-basis
или border
. Постојат решенија за постарите верзии на прелистувачот, но тие не треба да бидат неопходни ако сте ажурирани.
Автоматскиот распоред за мрежните колони на flexbox, исто така, значи дека можете да ја поставите ширината на една колона, а колоните од браќата или сестрите автоматски да ја менуваат големината околу неа. Може да користите предефинирани класи на мрежа (како што е прикажано подолу), мешавини на решетки или внатрешни ширини. Забележете дека другите колони ќе ја менуваат големината без разлика на ширината на централната колона.
Користете col-{breakpoint}-auto
класи за големина на колони врз основа на природната ширина на нивната содржина.
Создадете колони со еднаква ширина кои опфаќаат повеќе редови со вметнување на .w-100
местото каде што сакате колоните да се прекинат во нова линија. Направете ги паузите да бидат одговорни со мешање на .w-100
со некои комунални услуги за приказ што реагираат .
Мрежата на Bootstrap вклучува пет нивоа на предефинирани класи за градење сложени распореди со одговор. Приспособете ја големината на вашите колони на екстра мали, мали, средни, големи или екстра големи уреди како и да ви одговара.
За мрежи кои се исти од најмалите до најголемите уреди, користете ги .col
класите и .col-*
. Наведете нумерирана класа кога ви треба колона со посебна големина; во спротивно, слободно држете се до .col
.
Користејќи единечно множество .col-sm-*
класи, можете да креирате основен мрежен систем кој започнува наредени и станува хоризонтален на малата точка на прекин ( sm
).
Не сакате вашите колони едноставно да се натрупуваат во некои мрежни нивоа? Користете комбинација од различни класи за секое ниво по потреба. Погледнете го примерот подолу за подобра идеја за тоа како функционира сето тоа.
Користете ги алатките за порамнување на flexbox за вертикално и хоризонтално усогласување на колоните.
Олуците помеѓу колоните во нашите предефинирани класи на мрежа може да се отстранат со .no-gutters
. Ова ги отстранува негативните margin
s од .row
и хоризонталата padding
од сите колони непосредни деца.
Еве го изворниот код за креирање на овие стилови. Имајте предвид дека отфрлањата на колоните се опфатени само на првите детски колони и се насочени преку избирачот на атрибути . Иако ова генерира поспецифичен избирач, пополнувањето на колоните сè уште може дополнително да се приспособува со помошни програми за растојание .
Ви треба дизајн од раб до раб? Испуштете го родителот .container
или .container-fluid
.
Во пракса, еве како изгледа. Забележете дека можете да продолжите да го користите ова со сите други предефинирани класи на мрежа (вклучувајќи ширина на колони, нивоа на одговор, пренаредување и повеќе).
Ако повеќе од 12 колони се ставени во еден ред, секоја група дополнителни колони, како една единица, ќе се завитка во нова линија.
Бидејќи 9 + 4 = 13 > 12, оваа дивитација со 4 колони се завиткува на нова линија како една соседна единица.
Следните колони продолжуваат по новата линија.
Прекинувањето на колоните до нова линија во flexbox бара мал хакер: додадете елемент со width: 100%
каде и да сакате да ги завиткате вашите колони во нова линија. Нормално, ова се постигнува со повеќе .row
s, но не секој метод на имплементација може да го објасни ова.
Можете исто така да ја примените оваа пауза на одредени точки на прекин со нашите комунални услуги за одговорен приказ .
Користете .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
преку четири колони.
Покрај бришењето на колоните при одговорни точки на прекин, можеби ќе треба да ги ресетирате поместувањата. Погледнете го ова во акција во примерот на мрежата .
Со преместувањето во flexbox во v4, можете да користите алатки за маргина како .mr-auto
да ги принудувате колоните од браќата и сестрите да се оддалечат една од друга.
За да ја вгнездите вашата содржина со стандардната мрежа, додајте нова .row
и множество .col-sm-*
колони во постоечка .col-sm-*
колона. Вгнездените редови треба да вклучуваат збир на колони што се собираат до 12 или помалку (не е потребно да ги користите сите 12 достапни колони).
Кога користите изворни датотеки Sass на Bootstrap, имате можност да користите Sass променливи и миксини за да креирате прилагодени, семантички и одговорни распореди на страници. Нашите предефинирани мрежни класи ги користат истите овие променливи и мешавини за да обезбедат цела група спремни за употреба класи за распореди кои брзо реагираат.
Променливите и мапите го одредуваат бројот на колони, широчината на олукот и точката за пребарување на медиумите од која ќе почнат пловечките колони. Ги користиме за да ги генерираме претходно дефинираните класи на мрежа документирани погоре, како и за сопствените мешавини наведени подолу.
Миксините се користат заедно со променливите на мрежата за да се генерираат семантички CSS за поединечни мрежни колони.
Можете да ги менувате променливите до ваши сопствени вредности или само да ги користите миксините со нивните стандардни вредности. Еве пример за користење на стандардните поставки за креирање распоред со две колони со празнина помеѓу.
Користејќи ги нашите вградени променливи и мапи на мрежата Sass, можно е целосно да се приспособат претходно дефинираните класи на мрежа. Променете го бројот на нивоа, димензиите на барањето за медиуми и ширината на контејнерот - потоа повторно компајлирајте.
Бројот на мрежните колони може да се менува преку Sass променливите. $grid-columns
се користи за генерирање на ширините (во проценти) на секоја поединечна колона додека $grid-gutter-width
ја поставува ширината за олуците на колоните.
Движејќи се подалеку од самите колони, можете исто така да го прилагодите бројот на нивоа на мрежа. Ако сакавте само четири нивоа на мрежа, би го ажурирале $grid-breakpoints
и $container-max-widths
на нешто како ова:
Кога правите какви било промени на променливите или мапите на Sass, ќе треба да ги зачувате промените и повторно да ги компајлирате. Со тоа ќе излезе сосема нов сет на предефинирани класи на мрежа за ширина на колони, поместувања и нарачка. Ќе се ажурираат и алатките за одговорна видливост за да ги користат приспособените точки на прекин. Погрижете се да ги поставите вредностите на мрежата во px
(не rem
, em
, или %
).