Bootstrap is gebouwd op een responsief raster met 12 kolommen. We hebben ook lay-outs met vaste en vloeiende breedte toegevoegd op basis van dat systeem.
Bootstrap maakt gebruik van HTML-elementen en CSS-eigenschappen die het gebruik van het HTML5-doctype vereisen. Zorg ervoor dat u het aan het begin van elke Bootstrapped-pagina in uw project opneemt.
- <!DOCTYPE html>
- <html lang = "nl" >
- ...
- </html>
Binnen het bestand scaffolding.less stellen we algemene algemene weergave-, typografie- en linkstijlen in. Specifiek, wij:
background-color: white;
op debody
@baseFontFamily
, @baseFontSize
, en als onze typografische basis@baseLineHeight
@linkColor
en pas linkonderstrepingen alleen toe op:hover
Vanaf Bootstrap 2 is de traditionele CSS-reset geëvolueerd om gebruik te maken van elementen uit Normalize.css , een project van Nicolas Gallagher dat ook de HTML5 Boilerplate aanstuurt .
De nieuwe reset is nog steeds te vinden in reset.less , maar met veel elementen verwijderd voor beknoptheid en nauwkeurigheid.
Het standaardrastersysteem in Bootstrap gebruikt 12 kolommen die worden weergegeven met een breedte van 724px, 940px (standaard zonder responsieve CSS inbegrepen) en 1170px. Onder de 767px viewports worden de kolommen vloeiend en verticaal gestapeld.
- <div class = "rij" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Zoals hier wordt getoond, kan een basislay-out worden gemaakt met twee "kolommen", die elk een aantal van de 12 fundamentele kolommen beslaan die we hebben gedefinieerd als onderdeel van ons rastersysteem.
- <div class = "rij" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Met het statische (niet-vloeibare) rastersysteem in Bootstrap is nesten eenvoudig. Als u uw inhoud wilt nesten, voegt u gewoon een nieuwe .row
en een reeks .span*
kolommen toe binnen een bestaande .span*
kolom.
Geneste rijen moeten een reeks kolommen bevatten die optellen tot het aantal kolommen van de bovenliggende rij. Twee geneste .span3
kolommen moeten bijvoorbeeld binnen een .span6
.
- <div class = "rij" >
- <div class = "span6" >
- Kolom op niveau 1
- <div class = "rij" >
- <div class = "span3" > Niveau 2 </div>
- <div class = "span3" > Niveau 2 </div>
- </div>
- </div>
- </div>
Het vloeiende rastersysteem gebruikt procenten voor kolombreedtes in plaats van vaste pixels. Het heeft ook dezelfde responsieve variaties als ons vaste rastersysteem, waardoor de juiste verhoudingen voor belangrijke schermresoluties en apparaten worden gegarandeerd.
Maak elke rij vloeiend door simpelweg te veranderen .row
naar .row-fluid
. De kolommen blijven exact hetzelfde, waardoor het supereenvoudig is om te schakelen tussen vaste en vloeiende lay-outs.
- <div class = "rij-vloeistof" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Nesten met vloeiende rasters is een beetje anders: het aantal geneste kolommen hoeft niet overeen te komen met de bovenliggende. In plaats daarvan worden uw kolommen op elk niveau opnieuw ingesteld omdat elke rij 100% van de bovenliggende kolom in beslag neemt.
- <div class = "rij-vloeistof" >
- <div class = "span12" >
- Niveau 1 van kolom
- <div class = "rij-vloeistof" >
- <div class = "span6" > Niveau 2 </div>
- <div class = "span6" > Niveau 2 </div>
- </div>
- </div>
- </div>
Variabele | Standaardwaarde | Beschrijving |
---|---|---|
@gridColumns |
12 | Aantal columns |
@gridColumnWidth |
60px | Breedte van elke kolom |
@gridGutterWidth |
20px | Negatieve spatie tussen kolommen |
In Bootstrap zijn een handvol variabelen ingebouwd voor het aanpassen van het standaard 940px-rastersysteem, hierboven beschreven. Alle variabelen voor het raster worden opgeslagen in variables.less.
Het wijzigen van het raster betekent het wijzigen van de drie @grid*
variabelen en het opnieuw compileren van Bootstrap. Wijzig de rastervariabelen in variables.less en gebruik een van de vier gedocumenteerde manieren om opnieuw te compileren . Als je meer kolommen toevoegt, zorg er dan voor dat je de CSS toevoegt voor die in grid.less.
Aanpassing van het raster werkt alleen op het standaardniveau, het 940px-raster. Om de responsieve aspecten van Bootstrap te behouden, moet u ook de rasters aanpassen in responsive.less.
De standaard en eenvoudige 940px-brede, gecentreerde lay-out voor zowat elke website of pagina die door een enkele <div class="container">
.
- <lichaam>
- <div class = "container" >
- ...
- </div>
- </body>
<div class="container-fluid">
geeft flexibele paginastructuur, min- en max-breedten en een linkerzijbalk. Het is geweldig voor apps en documenten.
- <div class = "containervloeistof" >
- <div class = "rij-vloeistof" >
- <div class = "span2" >
- <!--Zijbalk inhoud-->
- </div>
- <div class = "span10" >
- <!--Lichaamsinhoud-->
- </div>
- </div>
- </div>
Mediaquery's maken aangepaste CSS mogelijk op basis van een aantal voorwaarden (verhoudingen, breedtes, weergavetype, enz.), maar richten zich meestal rond min-width
en max-width
.
Gebruik mediaquery's op een verantwoorde manier en alleen als een start voor uw mobiele doelgroepen. Overweeg voor grotere projecten speciale codebases en geen lagen van mediaquery's.
Bootstrap ondersteunt een handvol mediaquery's in één bestand om uw projecten geschikter te maken voor verschillende apparaten en schermresoluties. Dit is wat er is inbegrepen:
Label | Lay-outbreedte | Kolombreedte | breedte van de goot |
---|---|---|---|
Smartphones | 480px en lager | Vloeistofkolommen, geen vaste breedtes | |
Smartphones naar tablets | 767px en lager | Vloeistofkolommen, geen vaste breedtes | |
Portrettabletten | 768px en hoger | 42px | 20px |
Standaard | 980px en hoger | 60px | 20px |
Groot scherm | 1200px en hoger | 70px | 30px |
Om ervoor te zorgen dat apparaten responsieve pagina's correct weergeven, voegt u de viewport-metatag toe.
- <meta name = "viewport" content = "width=device-width, initial-scale=1,0" >
Bootstrap neemt deze mediaquery's niet automatisch op, maar het begrijpen en toevoegen ervan is heel eenvoudig en vereist minimale instellingen. Je hebt een paar opties om de responsieve functies van Bootstrap op te nemen:
Waarom niet gewoon opnemen? De waarheid is dat niet alles responsief hoeft te zijn. In plaats van ontwikkelaars aan te moedigen deze functie te verwijderen, denken we dat het het beste is om deze in te schakelen.
- /* Liggende telefoons en omlaag */
- @media ( max - breedte : 480px ) { ... }
- /* Liggende telefoon naar staande tablet */
- @media ( max - breedte : 767px ) { ... }
- /* Staand tablet naar liggend en desktop */
- @media ( min - breedte : 768 px ) en ( max - breedte : 979 px ) { ... }
- /* Groot bureaublad */
- @media ( min - breedte : 1200px ) { ... }
Gebruik voor een snellere mobielvriendelijke ontwikkeling deze basishulpklassen voor het weergeven en verbergen van inhoud per apparaat.
Gebruik op beperkte basis en vermijd het maken van totaal verschillende versies van dezelfde site. Gebruik ze in plaats daarvan als aanvulling op de presentatie van elk apparaat.
U kunt bijvoorbeeld een <select>
element voor navigatie weergeven op mobiele lay-outs, maar niet op tablets of desktops.
Hier wordt een tabel weergegeven met de klassen die we ondersteunen en hun effect op een bepaalde mediaquerylay-out (gelabeld per apparaat). Ze zijn te vinden in responsive.less
.
Klas | telefoons480px en lager | Tabletten767px en lager | Desktops768px en hoger |
---|---|---|---|
.visible-phone |
Zichtbaar | Verborgen | Verborgen |
.visible-tablet |
Verborgen | Zichtbaar | Verborgen |
.visible-desktop |
Verborgen | Verborgen | Zichtbaar |
.hidden-phone |
Verborgen | Zichtbaar | Zichtbaar |
.hidden-tablet |
Zichtbaar | Verborgen | Zichtbaar |
.hidden-desktop |
Zichtbaar | Zichtbaar | Verborgen |
Pas het formaat van uw browser aan of laad op verschillende apparaten om de bovenstaande klassen te testen.
Groene vinkjes geven aan dat klasse zichtbaar is in uw huidige viewport.
Hier geven groene vinkjes aan dat klasse verborgen is in uw huidige viewport.