Bootstrap je izgrađen na responzivnoj mreži od 12 kolona. Takođe smo uključili rasporede fiksne i fluidne širine zasnovane na tom sistemu.
Bootstrap koristi HTML elemente i CSS svojstva koja zahtijevaju upotrebu HTML5 doctype. Obavezno ga uključite na početak svake Bootstrapped stranice u svom projektu.
- <!DOCTYPE html>
- <html lang = "en" >
- ...
- </html>
Unutar datoteke scaffolding.less postavljamo osnovni globalni prikaz, tipografiju i stilove linkova. Konkretno, mi:
background-color: white;
nabody
@baseFontFamily
tipografsku @baseFontSize
osnovu@baseLineHeight
@linkColor
i primijenite podvučene veze samo na:hover
Od Bootstrapa 2, tradicionalni CSS reset je evoluirao da koristi elemente iz Normalize.css , projekta Nicolasa Gallaghera koji takođe pokreće HTML5 Boilerplate .
Novo resetiranje se i dalje može naći u reset.less , ali sa mnogim elementima uklonjenim radi sažetosti i preciznosti.
Podrazumevani sistem mreže koji se nalazi u Bootstrapu koristi 12 kolona koje se prikazuju u širinama od 724px, 940px (podrazumevano bez uključenog responzivnog CSS-a) i 1170px. Ispod okvira za prikaz od 767px, kolone postaju fluidne i slažu se okomito.
- <div class = "red" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Kao što je ovde prikazano, osnovni raspored se može kreirati sa dve "kolone", od kojih svaka obuhvata niz od 12 temeljnih kolona koje smo definisali kao deo našeg sistema mreže.
- <div class = "red" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Sa statičkim (nefluidnim) sistemom mreže u Bootstrapu, ugniježđenje je jednostavno. Da ugnijezdite svoj sadržaj, samo dodajte novi .row
i skup .span*
kolona unutar postojeće .span*
kolone.
Ugniježđeni redovi trebaju uključivati skup kolona koji se zbrajaju sa brojem stupaca njegovog roditelja. Na primjer, dvije ugniježđene .span3
kolone trebaju biti smještene unutar .span6
.
- <div class = "red" >
- <div class = "span6" >
- Nivo 1 kolona
- <div class = "red" >
- <div class = "span3" > Nivo 2 </div>
- <div class = "span3" > Nivo 2 </div>
- </div>
- </div>
- </div>
Sistem fluidne mreže koristi procente za širine kolona umjesto fiksnih piksela. Takođe ima iste varijacije odziva kao i naš sistem fiksne mreže, osiguravajući odgovarajuće proporcije za ključne rezolucije ekrana i uređaje.
Učinite bilo koji red tečnim jednostavno promjenom .row
na .row-fluid
. Stubovi ostaju potpuno isti, što ga čini super jednostavnim za prebacivanje između fiksnog i fluidnog rasporeda.
- <div class = "red-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Ugniježđenje sa fluidnim mrežama je malo drugačije: broj ugniježđenih kolona ne mora odgovarati roditelju. Umjesto toga, vaše kolone se resetiraju na svakom nivou jer svaki red zauzima 100% nadređene kolone.
- <div class = "red-fluid" >
- <div class = "span12" >
- Nivo 1 kolone
- <div class = "red-fluid" >
- <div class = "span6" > Nivo 2 </div>
- <div class = "span6" > Nivo 2 </div>
- </div>
- </div>
- </div>
Varijabilna | Zadana vrijednost | Opis |
---|---|---|
@gridColumns |
12 | Broj kolona |
@gridColumnWidth |
60px | Širina svake kolone |
@gridGutterWidth |
20px | Negativni razmak između kolona |
U Bootstrap je ugrađeno nekoliko varijabli za prilagođavanje zadanog sistema mreže od 940px, dokumentirano gore. Sve varijable za mrežu su pohranjene u varijabli.less.
Modifikacija mreže znači promjenu tri @grid*
varijable i ponovno kompajliranje Bootstrapa. Promijenite varijable mreže u varijabli.less i koristite jedan od četiri dokumentirana načina za ponovno kompajliranje . Ako dodajete još kolona, obavezno dodajte CSS za one u grid.less.
Prilagođavanje mreže radi samo na zadanom nivou, mreži od 940px. Da biste zadržali responzivne aspekte Bootstrapa, također ćete morati prilagoditi mreže u responsive.less.
Zadani i jednostavan 940px širok, centriran izgled za gotovo bilo koju web stranicu ili stranicu koju pruža jedan <div class="container">
.
- <tijelo>
- <div class = "kontejner" >
- ...
- </div>
- </body>
<div class="container-fluid">
daje fleksibilnu strukturu stranice, minimalnu i maksimalnu širinu i lijevu bočnu traku. Odličan je za aplikacije i dokumente.
- <div class = "kontejner-fluid" >
- <div class = "red-fluid" >
- <div class = "span2" >
- <!--Sadržaj bočne trake-->
- </div>
- <div class = "span10" >
- <!--Sadržaj tijela-->
- </div>
- </div>
- </div>
Medijski upiti omogućavaju prilagođeni CSS na osnovu brojnih uslova – omjera, širine, tipa prikaza, itd. – ali se obično fokusira na min-width
i max-width
.
Koristite medijske upite odgovorno i samo kao početak za svoju mobilnu publiku. Za veće projekte, razmotrite namjenske baze koda, a ne slojeve medijskih upita.
Bootstrap podržava pregršt medijskih upita u jednoj datoteci kako bi vaši projekti bili prikladniji na različitim uređajima i rezolucijama ekrana. Evo šta je uključeno:
Label | Širina rasporeda | Širina kolone | Širina oluka |
---|---|---|---|
Smartphones | 480px i manje | Stubovi fluida, bez fiksnih širina | |
Od pametnih telefona do tableta | 767px i manje | Stubovi fluida, bez fiksnih širina | |
Portret tablete | 768px i više | 42px | 20px |
Default | 980px i više | 60px | 20px |
Veliki displej | 1200px i više | 70px | 30px |
Da biste osigurali da uređaji pravilno prikazuju responzivne stranice, uključite meta oznaku okvira prikaza.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
Bootstrap ne uključuje automatski ove medijske upite, ali njihovo razumijevanje i dodavanje je vrlo jednostavno i zahtijeva minimalno podešavanje. Imate nekoliko opcija za uključivanje responzivnih funkcija Bootstrapa:
Zašto ga jednostavno ne uključiti? Istini za volju, ne mora sve biti odgovorno. Umjesto da ohrabrujemo programere da uklone ovu funkciju, smatramo da je najbolje da je omogućimo.
- /* Landscape phones and down */
- @media ( max - širina : 480px ) { ... }
- /* Pejzažni telefon u portret tablet */
- @media ( max - širina : 767px ) { ... }
- /* Portret tablet na pejzaž i desktop */
- @media ( min - širina : 768px ) i ( max - širina : 979px ) { ... }
- /* Velika radna površina */
- @media ( min - širina : 1200px ) { ... }
Za brži razvoj prilagođen mobilnim uređajima, koristite ove osnovne uslužne klase za prikazivanje i skrivanje sadržaja po uređaju.
Koristite na ograničenoj osnovi i izbjegavajte stvaranje potpuno različitih verzija iste stranice. Umjesto toga, koristite ih za dopunu prezentacije svakog uređaja.
Na primjer, možete prikazati <select>
element za navigaciju na mobilnom izgledu, ali ne i na tabletima ili desktopu.
Ovdje je prikazana tabela klasa koje podržavamo i njihov učinak na dati izgled medijskog upita (označen prema uređaju). Mogu se naći u responsive.less
.
Klasa | Telefoni480px i manje | Tablete767px i manje | Stoni računari768px i više |
---|---|---|---|
.visible-phone |
Vidljivo | Skriveno | Skriveno |
.visible-tablet |
Skriveno | Vidljivo | Skriveno |
.visible-desktop |
Skriveno | Skriveno | Vidljivo |
.hidden-phone |
Skriveno | Vidljivo | Vidljivo |
.hidden-tablet |
Vidljivo | Skriveno | Vidljivo |
.hidden-desktop |
Vidljivo | Vidljivo | Skriveno |
Promijenite veličinu vašeg pretraživača ili učitajte na različite uređaje kako biste testirali gore navedene klase.
Zelene kvačice označavaju da je klasa vidljiva u vašem trenutnom prozoru za prikaz.
Ovdje zelene oznake označavaju da je klasa skrivena u vašem trenutnom prozoru za prikaz.