Inhoudsopgave
Leerdoelen vandaag
- Wat is Bootstrap?
- Bootstrap starten CDN
- Bootstrap grid gebruiken
- Enkele componenten inzetten
- Bootstrap aanpassen
![opstarten](https://www.onzid.nl/wp-content/uploads/2015/02/onzid.-train.jpg)
Bootstrap
CSS library (soms ook framework genoemd)
- CSS door Bootstrap geschreven (je schrijft dus zelf geen CSS)
- stijlen door de juiste class-namen in je markup te plaatsen
- goed grid-systeem voor je layout
- voor veel gebruikte UI componenten heeft Bootstrap ook JS geschreven
Voorbeeldcode
Bootstrap 4
voordelen
- snel resultaat bij standaard gebruik
- bij standaard gebruik mooi resultaat
- goede ondersteuning browsers/devices
- responsive (mobile first)
- ondersteuning Sass
- ARIA voor betere toegankelijkheid
- goede documentatie
Dus goed gereedschap voor prototypes
nadelen
- elementen krijgen erg veel classes
- soms zijn er extra div's nodig -> verlies aan semantiek
- JS in Bootstrap heeft jQuery nodig
- vergt moeite en kennis om voor een unieke look aanpassingen te maken
(sites lijken gauw erg op elkaar)
Voorbeeldcode
voor een start met het maken van 2 kolommen
- start met container class: er zijn twee soorten:
.container
heeft een beperkte responsive breedte.container-fluid
strekt zich over de volledige breedte uit
-
daarbinnen een
.row
, die een rij vormt - daarbinnen weer jouw kolommen met
.col
- het grid kent een onderverdeling in 12 stappen:
.col-12
pakt de volledige breedte en is dan dus 1 kolom.col-6
pakt de helft, je kant er naddus nog een van dezelfde breedte naast plaatsen..col-4
pakt een derde, je kunt er dan nog 2 naast zetten of een die met.col-8
2 keer zo breed is.- enz. enz.
Link naar het resultaat
Open deze link en probeer te achterhalen hoeveel regels CSS-code hier zijn gebruikt.
opdracht vorige maand
- Bekijk de opdracht hiernaast
- Download het startdocument of bedenk vergelijkbaar onderwerp met inhoud
- Zet deze in jouw opdracht-map
- Voeg Sass-classes toe
- Voeg zelf een component of element aan de inhoud toe
- Deze voorlopige versie online
en op GitHub - Link live versie in README.md
- GitHub link in Magister
3 manieren om Bootstrap te 'installeren'
![npm en Node.js](https://okkhor.org/wp-content/uploads/2017/10/nodeNPM.jpg)
- gebruik maken van CDN Je kunt Bootstrap dan niet beïnvloeden, hooguit een aantal varianten kiezen
- De CSS (en eventueel de JS en jQuery) van Bootstrap downloaden en koppelen Je kunt deze bestanden wel bewerken, maar dat is wel moeilijk en moeizaam
- Bootstrap met npm installeren en beheren
Met ervaring in npm en Sass kun je Bootstrap naar je hand zetten
node_modules
- Gemaakt/gebruikt door npm
- De developer werkt/wijzigt daar niets in.
-
Wordt normaliter niet op GitHub geplaatst.
Daarom wordtnode_modules
ook toegevoegd aan.gitignore
.
De map node_modules kan erg omvangrijk zijn.
GitHub weigert dat in dat geval dan ook terecht. - Omdat we nog geen JavaScript compileren zoals we dat met Sass doen, wordt in deze tutorial van die werkwijze afgeweken.
-
In echte projecten wordt een project van GitHub gehaald en de teamgenoot kan dan met
npm start
het project starten en alle modules met dependencies installeren.
![fiks pakket aan node_modules](https://i.redd.it/n08d5h8v4id21.jpg)
Structuur na installatie
lotr/ ├── scss │ └── main.scss └── node_modules/ └── bootstrap ├── js └── scss |__ mixins .... |__ utilities | |__ buttons.scss | |__ ...... .scss | |__ navbar.scss |__ card.scss |__ jumbotron.scss |__ .......
Bij import dus:
// vereist @import "../node_modules/bootstrap/scss/functions"; @import "../node_modules/bootstrap/scss/variables"; @import "../node_modules/bootstrap/scss/mixins"; // voorgesteld @import "../node_modules/bootstrap/scss/reboot"; @import "../node_modules/bootstrap/scss/type"; @import "../node_modules/bootstrap/scss/images"; @import "../node_modules/bootstrap/scss/code"; @import "../node_modules/bootstrap/scss/grid";
!default
in Sass
Gewoonlijk overschrijft in CSS de laatste eigenschap-waarde een eerdere waarde
Bootstrap gebruikt in zijn Sass de eigenschap !default
achter zijn variabelen.
$blue: #007bff !default;
Dit betekent dat als de variabele $blue
nog geen waarde heeft gekregen,
deze dan #007bff
wordt.
Had hij wel een waarde dan gebeurt er niets.
Je kunt als je dat wenst, dus in een eerder geïmporteerd sass-bestand de gewenste waarde instellen.
En als je dat wil, kun je het ook 'vergeten' (maar dan heb je tenmnste wel al kleuren).
![!default in Sass](http://bisaga.com/blog/wp-content/uploads/2017/08/2017-08-09-22_22_29-_custom_variables.scss-%E2%80%94-AngularMyApp-%E2%80%94-Visual-Studio-Code.png)
![een Bootstrap voorbeeld](https://getbootstrap.com/docs/3.4/examples/screenshots/theme.jpg)
Links
Bekijk vooral
- link naar Bootstrap
- CDN links
- Documentatie van Bootstrap zelf (vooral Grid en componenten)
- Online spiekbrief van Bootstrap classes
- Download van startdocument
- De opdracht van Bootstrap
(werk tot em met stap 5)
opdracht vandaag
- Bekijk de resultaat YT-video hiernaast (nog niet meedoen hoor!)
- Download het startdocument of bedenk vergelijkbaar onderwerp met inhoud
- Zet deze in jouw opdracht-map
- Voeg CSS-classes toe
- Voeg zelf een component of element aan de inhoud toe
- De overige instructievideo's uitvoeren: modals, cards, aanpassen
- Deze voorlopige versie online
en op GitHub - Link live versie in README.md
- GitHub link in Magister
- Indien nog niet gedaan: jouw project met
npm
initialiseren - De CDN voor de CSS verwijderen
- scss importeren en scss aanpassen aan LotR thema
- Resultaat uploaden op hosts-ma-cloud, bijwerken.