Bootstrap er bygget på responsive 12-kolonne rutenett, oppsett og komponenter.
Bootstrap bruker visse HTML-elementer og CSS-egenskaper som krever bruk av HTML5 doctype. Inkluder det i begynnelsen av alle prosjektene dine.
- <!DOCTYPE html>
- <html lang = "no" >
- ...
- </html>
Bootstrap setter grunnleggende globale visnings-, typografi- og lenkestiler. Nærmere bestemt:
marginpå kroppenbackground-color: white;påbody@baseFontFamily, @baseFontSize, og @baseLineHeightattributtene som vår typografiske base@linkColorog bruk lenkeunderstreking kun på:hoverDisse stilene kan finnes innenfor scaffolding.less .
Med Bootstrap 2 har den gamle tilbakestillingsblokken blitt droppet til fordel for Normalize.css , et prosjekt av Nicolas Gallagher og Jonathan Neal som også driver HTML5 Boilerplate . Mens vi bruker mye av Normalize i vår reset.less , har vi fjernet noen elementer spesifikt for Bootstrap.
Standard Bootstrap-rutenettsystemet bruker 12 kolonner , noe som gir en 940px bred beholder uten responsive funksjoner aktivert. Med den responsive CSS-filen lagt til, tilpasser rutenettet seg til å være 724px og 1170px bredt avhengig av visningsporten din. Under 767px viewporter blir kolonnene flytende og stables vertikalt.
For en enkel layout med to kolonner, lag en .rowog legg til riktig antall .span*kolonner. Siden dette er et rutenett .span*med 12 kolonner, spenner hver over et antall av disse 12 kolonnene, og bør alltid legge til 12 for hver rad (eller antall kolonner i den overordnede).
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Gitt dette eksemplet har vi .span4og .span8, noe som gir totalt 12 kolonner og en hel rad.
Flytt kolonner til høyre ved å bruke .offset*klasser. Hver klasse øker venstre marg i en kolonne med en hel kolonne. .offset4Flytter for eksempel .span4over fire kolonner.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span3 offset2" > ... </div>
- </div>
For å legge innholdet ditt med standardrutenettet, legg til en ny .rowog et sett med .span*kolonner i en eksisterende .span*kolonne. Nestede rader skal inneholde et sett med kolonner som summerer seg til antall kolonner til den overordnede.
- <div class = "row" >
- <div class = "span9" >
- Nivå 1 kolonne
- <div class = "row" >
- <div class = "span6" > Nivå 2 </div>
- <div class = "span3" > Nivå 2 </div>
- </div>
- </div>
- </div>
Fluidgittersystemet bruker prosenter i stedet for piksler for kolonnebredder. Den har samme responsevne som vårt faste rutenettsystem, og sikrer riktige proporsjoner for viktige skjermoppløsninger og enheter.
Gjør hvilken som helst rad "flytende" ved å endre .rowtil .row-fluid. Kolonneklassene forblir de samme, noe som gjør det enkelt å veksle mellom faste og flytende rutenett.
- <div class = "row-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Fungerer på samme måte som forskyvningen av det faste rutenettet: legg .offset*til en hvilken som helst kolonne for å forskyve med så mange kolonner.
- <div class = "row-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset2" > ... </div>
- </div>
Væskenett utnytter nesting annerledes: hvert nestet nivå av kolonner skal legge til opptil 12 kolonner. Dette er fordi væskenettet bruker prosenter, ikke piksler, for å angi bredder.
- <div class = "row-fluid" >
- <div class = "span12" >
- Væske 12
- <div class = "row-fluid" >
- <div class = "span6" >
- Væske 6
- <div class = "row-fluid" >
- <div class = "span6" > Fluid 6 </div>
- <div class = "span6" > Fluid 6 </div>
- </div>
- </div>
- <div class = "span6" > Fluid 6 </div>
- </div>
- </div>
- </div>
Gir et felles oppsett med fast bredde (og valgfritt responsivt) med bare <div class="container">nødvendig.
- <body>
- <div class = "container" >
- ...
- </div>
- </body>
Lag en flytende side med to kolonner med <div class="container-fluid">– flott for applikasjoner og dokumenter.
- <div class = "container-fluid" >
- <div class = "row-fluid" >
- <div class = "span2" >
- <!--Sidefeltinnhold-->
- </div>
- <div class = "span10" >
- <!--Broppsinnhold-->
- </div>
- </div>
- </div>
Slå på responsiv CSS i prosjektet ditt ved å inkludere riktig metatag og ekstra stilark i <head>dokumentet ditt. Hvis du har kompilert Bootstrap fra Tilpass-siden, trenger du bare inkludere metakoden.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
- <link href = "assets/css/bootstrap-responsive.css" rel = "stilark" >
Vær oppmerksom!Bootstrap inkluderer ikke responsive funksjoner som standard på dette tidspunktet, da ikke alt trenger å være responsivt. I stedet for å oppmuntre utviklere til å fjerne denne funksjonen, finner vi det best å aktivere den etter behov.
Mediespørringer tillater tilpasset CSS basert på en rekke forhold – forhold, bredder, visningstype osv. – men fokuserer vanligvis rundt min-widthog max-width.
Bruk mediesøk på en ansvarlig måte og bare som en start på mobilpublikummet ditt. For større prosjekter bør du vurdere dedikerte kodebaser og ikke lag med mediespørringer.
Bootstrap støtter en håndfull mediespørringer i en enkelt fil for å gjøre prosjektene dine mer passende på forskjellige enheter og skjermoppløsninger. Her er hva som er inkludert:
| Merkelapp | Layout bredde | Kolonnebredde | Rennebredde |
|---|---|---|---|
| Stort display | 1200px og oppover | 70 piksler | 30 piksler |
| Misligholde | 980px og oppover | 60 piksler | 20 piksler |
| Portrett nettbrett | 768px og over | 42px | 20 piksler |
| Telefoner til nettbrett | 767px og lavere | Væskesøyler, ingen faste bredder | |
| Telefoner | 480px og lavere | Væskesøyler, ingen faste bredder | |
- /* Stort skrivebord */
- @media ( min - bredde : 1200px ) { ... }
- /* Stående nettbrett til liggende og skrivebord */
- @media ( min - bredde : 768px ) og ( maks - bredde : 979px ) { ... }
- /* Liggende telefon til stående nettbrett */
- @media ( maks . bredde : 767px ) { ... }
- /* Liggende telefoner og nedover */
- @media ( maks . bredde : 480px ) { ... }
For raskere mobilvennlig utvikling, bruk disse verktøyklassene for å vise og skjule innhold etter enhet. Nedenfor er en tabell over de tilgjengelige klassene og deres effekt på et gitt mediespørringsoppsett (merket med enhet). De finnes i responsive.less.
| Klasse | Telefoner767px og lavere | Nettbrett979px til 768px | Stasjonære datamaskinerMisligholde |
|---|---|---|---|
.visible-phone |
Synlig | Skjult | Skjult |
.visible-tablet |
Skjult | Synlig | Skjult |
.visible-desktop |
Skjult | Skjult | Synlig |
.hidden-phone |
Skjult | Synlig | Synlig |
.hidden-tablet |
Synlig | Skjult | Synlig |
.hidden-desktop |
Synlig | Synlig | Skjult |
Bruk på begrenset basis og unngå å lage helt forskjellige versjoner av samme nettsted. Bruk dem i stedet for å komplettere presentasjonen til hver enhet. Responsive verktøy skal ikke brukes med tabeller, og støttes derfor ikke.
Endre størrelsen på nettleseren din eller last inn på forskjellige enheter for å teste klassene ovenfor.
Grønne haker indikerer at klassen er synlig i din nåværende visningsport.
Her indikerer grønne haker at klassen er skjult i din nåværende visningsport.