ID.nl logo
Responsieve website maken met Bootstrap
© Reshift Digital
Huis

Responsieve website maken met Bootstrap

Bootstrap is een populair framework voor het werken met html, css en JavaScript. Je kunt er snel professionele websites mee ontwerpen. En dan in het bijzonder zogeheten responsieve websites, die mooi meeschalen met het type apparaat waarop ze bekeken worden. Hoe gaat dat in zijn werk?

Bootstrap is vooral een goede hulp bij het maken van ‘responsive’ of responsieve websites. Responsief houdt in dat de weergave wordt aangepast aan de beschikbare ruimte. Open maar eens een website als die van de NOS in een venster en maak dit venster steeds kleiner. Let op hoe de weergave zich aanpast. Op een klein scherm zal bijvoorbeeld het menu compacter worden en verhuist een kolom van de rechterkant naar onderen. De meeste websites werken al zo en dat is voor een groot deel te danken aan Bootstrap.

We gaan aan de slag met Bootstrap en we gaan handmatig een verse start maken. Maak daarvoor eventueel een nieuw mapje voor je Bootstrap-site aan en open deze map in je favoriete teksteditor. Wij gebruiken de teksteditor Brackets.

Starten met bootstrap

Ga naar getbootstrap.com. Zorg dat rechtsboven de laatste versie is geselecteerd. Zo heb je meteen de juiste bijbehorende documentatie. Klik dan op Get Started. Blader naar onderen, naar Starter template. Klik in dit venster op Copy. Hiermee kopieer je alle html-code naar het klembord. Plak het dan in een nieuw bestand in Brackets en bewaar het als html-bestand, bijvoorbeeld index.html. Open Live Voorbeeld om te zien hoe het eruitziet. Dit wordt ons vertrekpunt. 

De html-code zal weinig verrassingen hebben. Wel is de metatag viewport nieuw. Je weet dat de viewport het zichtbare gedeelte van een pagina is. De aanduiding width=device-width geeft in feite aan dat de browser de breedte van de pagina gelijk moet stellen aan de schermbreedte van het apparaat. Als het ontbreekt, zullen apparaten zelf de weergave aanpassen, wat ze zeker op smartphones verre van optimaal doen.

Stylesheets en scripts

In de head ziet je hoe het stylesheet van Bootstrap wordt geladen. Dit bevat alle vooraf gedefinieerde stijlen die je direct kunt gebruiken. We raden aan om onder dit stylesheet een verwijzing te maken naar een eigen, nu nog leeg stylesheet, waarin je aanpassingen maakt:

<link href="css/custom.css" rel="stylesheet" type="text/css">

Deze stijlen zullen, omdat het stylesheet later is geladen, voorrang hebben boven de standaardstijlen van Bootstrap. Onderaan het html-document zie je hoe de jQuery-bibliotheek en een Bootstrap-bundel worden geladen. Die laatste omvat ook Popper.js, een soort hulpbibliotheek voor JavaScript waarvan veel Bootstrap-componenten gebruikmaken. 

Alle onderdelen worden vanaf een zogenoemd Content Delivery Network (CDN) geladen. Als je zo’n CDN gebruikt, zal altijd automatisch de dichtstbijzijnde server worden gebruikt, zodat iedere bezoeker optimale prestaties heeft. Je mag de scripts natuurlijk ook op je eigen pc (of later je hostingaccount) zetten.

©PXimport

Om te zien welke mogelijkheden je hebt, is het slim om de documentatie erbij te houden. Onder Layout zie je tips voor bijvoorbeeld het werken met grids. Ook het kopje Content verdient je aandacht. Hier lees je over alle mogelijke manieren om met afbeeldingen te werken en om bijvoorbeeld tekst of tabellen op te maken. 

Onder Components vind je uiteenlopende componenten die je kunt opnemen in je pagina. Onder Utilities zie je handige opties die je kunt gebruiken. Zo kun je door een class toe te voegen bijvoorbeeld de tekst- of achtergrondkleur wijzigen, of marges en padding beïnvloeden.

Containers en jumbotrons

We beginnen met wat tips voor de lay-out. Uitgebreide details hierover vind je in de documentatie in het betreffende gedeelte. Als voorbeeld zullen we de kop <h1> in een zogenoemde container zetten:

<div class="container"> <h1>Welkom bij deze site</h1> <p>Hier zie je onze eerste creatie met Bootstrap.</p> </div>

Omdat we hier container als classnaam gebruiken, wordt de breedte in sprongetjes aan de vensterbreedte aangepast. Dat komt door enkele @media-regels in het stylesheet, waaronder deze twee:

@media (min-width: 576px) { .container, .container-sm { max-width: 540px; } } @media (min-width: 768px) { .container, .container-sm, .container-md { max-width: 720px; } }

Wat hier wordt bepaald, is dat indien de breedte van het venster minimaal 576 pixels is, de container maximaal 540 pixels groot moet zijn. En als het venster minimaal 768 pixels is, moet de container een maximale breedte van 720 pixels aannemen. 

Gebruik je container-fluid, dan zijn zulke regels er niet en wordt steeds de volledige breedte gebruikt. Deze @media-regels vormen ook de basis voor responsieve websites. Dit soort details kun je achterhalen via het volledige stylesheet van Bootstrap (zie onderstaande alinea’) of via de ontwikkelaarstools, door rechts op een element te klikken en dan Inspecteren te kiezen.

Het is handig om de bronbestanden van Bootstrap bij de hand te hebben. Deze vind je op deze pagina onder Source files. Pak het zip-bestand na het downloaden uit in een map op je pc. Je kunt nu altijd even spieken hoe iets precies wordt aangepakt in bijvoorbeeld het stylesheet van Bootstrap, die in het mapje dist/css staat.

Met een kleine aanpassing van de classnaam maak je een zogenoemde jumbotron, een grote grijze box die de volledige schermbreedte inneemt en vooral is bedoeld om de aandacht op bepaalde content te vestigen.

<div class="jumbotron"> <h1>Welkom bij deze site</h1> <p>Hier zie je onze eerste creatie met Bootstrap.</p> </div>

Als je in de documentatie naar Utilities gaat, zie je onder Colors hoe je met een paar extra classes de kleur van de achtergrond en tekst kunt veranderen, bijvoorbeeld bg-primary om het de standaard (blauwe) achtergrondkleur te geven en text-white voor een witte tekstkleur:

<div class="jumbotron bg-primary text-white"> <h1>Welkom bij deze site</h1> <p>Hier zie je onze eerste creatie met Bootstrap.</p> </div>

Meer mogelijkheden

Op een vergelijkbare manier kun je bijvoorbeeld mooie buttons of strakkere formulieren maken. De documentatie is een onmisbare hulplijn en gelukkig heel verzorgd. En omdat het framework zo populair is, vind je op internet enorm veel voorbeelden of zelfs kant-en-klare sites die ermee zijn gebouwd. Je hebt de volledige versie van de Bootstrap-bibliotheek en kunt naar vrijheid alle componenten proberen. Ben je wat verder en heb je een goed beeld van wat je wel of niet gaat gebruiken, dan is het slim die bibliotheek wat terug te brengen.

Bootstrap maakt gebruik van Sass, een soort vereenvoudigde taal om css in te schrijven. Je herkent de bestanden aan de .scss-extensie. Zulke bestanden moeten worden omgezet naar css voordat de browser ze kan gebruiken. Daarvoor gebruik je een zogenoemde pre-processor. Het proces wordt ook wel compileren genoemd. Het voordeel van deze benadering is dat je precies kunt aangeven welke componenten van Bootstrap je wel of niet nodig hebt, zodat de uiteindelijke bibliotheek niet groter wordt dan nodig. Ook kun je persoonlijke aanpassingen mee laten nemen, bijvoorbeeld aangepaste standaardkleuren of een andere aanvangsgrootte voor het lettertype.

©PXimport

Werken met grids

Mede dankzij Bootstrap werken veel websites responsief, waarbij met een grid wordt gewerkt om de pagina in vlakken te verdelen. We laten zien hoe je dit toepast. Bij Bootstrap kun je een pagina flexibel verdelen in maximaal twaalf kolommen. Meestal zul je die niet allemaal nodig hebben en zul je ze groeperen om bredere kolommen te maken. Het grid is responsief en de kolommen kunnen zich herschikken, afhankelijk van de schermgrootte. De achterliggende techniek die Bootstrap gebruikt heet Flexbox. Dat kun je samen met CSS Grid gebruiken om complexere lay-outs te maken met alleen css.

Flexbox en CSS Grid zijn bedoeld om samen te gebruiken. Met CSS Grid is elke denkbare lay-out te maken, in een denkbeeldig grid met horizontale en verticale lijnen. Flexbox werkt maar in één richting tegelijk en is daarom eenvoudiger te doorgronden. Je kunt het ook gebruiken binnen een met CSS Grid gedefinieerde rij (horizontaal) of kolom (verticaal). Flexbox lost problemen op die met standaard css uitdagend zijn, zoals een gelijkmatige verdeling van elementen binnen de ruimte of een aantal kolommen met precies dezelfde hoogte, ongeacht de inhoud.

©PXimport

Gelijke kolommen

We vergeten Flexbox even en richten ons op het werken met grids in Bootstrap. Als eerste voorbeeld maken we een lay-out met drie kolommen die in de browser steeds dezelfde breedte moeten krijgen, onafhankelijk van de schermgrootte van het apparaat. We beginnen met een container, waar we vervolgens één rij aan toevoegen met in die rij drie kolommen met col als class:

<div class="container"> <div class="row"> <div class="col"> <h3>Kolom 1</h3> <p>Eerste kolom</p> </div> <div class="col"> <h3>Kolom 2</h3> <p>Tweede kolom</p> </div> <div class="col"> <h3>Kolom 3</h3> <p>Derde kolom</p> </div> </div> </div>

Verschillende schermgroottes

Stel dat bovenstaande opmaak zich niet leent voor kleinere apparaten, zoals een smartphone, maar eigenlijk alleen voor tablets of groter. Dan zul je een andere class moeten gebruiken dan col. We gaan de weergave richten op alle schermen vanaf een bepaalde breedte. Alle opties zie je in de documentatie van Bootstrap onder Layout / Grid

De belangrijkste zijn je col-sm-* voor kleine schermen zoals smartphones, col-md-* voor gemiddelde schermen zoals tablets, col-lg-* voor grotere schermen als een desktop-pc en col-xl-* voor nog grotere schermen. Het sterretje staat voor een bepaald getal, waarbij de som van de kolommen steeds twaalf is. We zullen dat demonstreren.

Lay-outs voor tablets

Om de lay-out op tablets en groter te richten, veranderen we alleen voor elke kolom de class col naar col-md-4. De kolommen staan dan nog steeds netjes naast elkaar vanaf een schermbreedte van 768 pixels, maar op kleinere schermen worden ze onder elkaar gezet. Merk op dat de som van de kolommen (4-4-4) twaalf is. Andere combinaties zijn ook mogelijk, zoals een 3-6-3 opstelling:

<div class="container"> <div class="row"> <div class="col-md-3 bg-info"> <h3>Kolom 1</h3> <p>Eerste kolom</p> </div> <div class="col-md-6 bg-primary"> <h3>Kolom 2</h3> <p>Tweede kolom</p> </div> <div class="col-md-3 bg-info"> <h3>Kolom 3</h3> <p>Derde kolom</p> </div> </div> </div>

Nog meer responsiviteit

We gaan een nog wat flexibelere lay-out maken. Het doel is dat op apparaten met groot scherm (aangegeven door col-lg-*) de kolommen naast elkaar staan, zoals hierboven in 3-6-3-opstelling. Bij een gemiddelde schermbreedte (col-md-*) moeten de eerste twee kolommen in een verhouding van 1:2 naast elkaar staan en moet de derde kolom naar onderen verhuizen. Dat kun je als volgt bereiken:

<div class="container"> <div class="row"> <div class="col-md-4 col-lg-3 bg-info">Kolom 1</div> <div class="col-md-8 col-lg-6 bg-primary">Kolom 2</div> <div class="col-md-12 col-lg-3 bg-info">Kolom 3</div> </div> </div>

Zoals je ziet is er een klein beetje rekenwerk nodig. Op apparaten met gemiddeld scherm worden de eerste kolom (col-md-4) en tweede kolom (col-md-8) naast elkaar in een 1:2-verhouding gezet, en omdat de som twaalf is, wordt de derde kolom (col-md-12) automatisch daaronder gezet. Bootstrap geeft je die flexibiliteit. Op grotere schermen wordt de pagina normaal volgens 3-6-3 opgebouwd.

Probeer het in je browser door de vensterbreedte langzaam kleiner of groter te maken. Er zijn meer trucjes, maar de belangrijkste basisprincipes hebben we nu doorgenomen, waarmee je nu verder kunt experimenteren! 

Kom je er niet helemaal uit? Op de website van Bootstrap vind je bij Examples handige voorbeelden van lay-outs die met het framework zijn gemaakt. Je kunt het als inspiratie voor je eigen creaties gebruiken of zelfs voorbeelden een-op-een overnemen, als je dat wilt.

▼ Volgende artikel
Review Siemens EQ700 Integral – Koffiemachine met talloze smaken
© Siemens
Huis

Review Siemens EQ700 Integral – Koffiemachine met talloze smaken

Ben je op koffiegebied een echte fijnproever? Misschien is deze gloednieuwe automatische espressomachine van Siemens dan wel iets voor jou. Dit stijlvol vormgegeven apparaat ondersteunt maar liefst 35 koffiesoorten. Naast gangbare smaken als cappuccino, espresso en americano maak je met de EQ700 Integral net zo makkelijk exotischer dranken. Een ristretto, flat white of cold brew macchiato? Geen probleem! We nemen de proef op de som.

Fantastisch
Conclusie

Probeer je graag diverse koffievariaties uit, dan is de EQ700 Integral zeer geschikt. Je kunt naar hartenlust met uiteenlopende soorten en drankopties experimenteren. Houd je het liever alleen bij cappuccino, espresso en normale koffie? Dan zijn er goedkopere alternatieven op de markt.

Plus- en minpunten
  • Goede bouwkwaliteit
  • Groot melkreservoir
  • Ruime watertank met handvat
  • Duidelijk touchscreen
  • Zeer veel koffiesmaken
  • Stille keramische molen
  • Ingebouwde ledverlichting
  • Uitgebreide app
  • Prijzig
  • Relatief groot
  • Waterfilter elke twee maanden vervangen

Siemens heeft zijn nieuwste espressomachines zorgvuldig verpakt. Op de productdoos staan zelfs instructies over hoe je de EQ700 Integral het best kunt uitpakken. Het is een behoorlijk groot en zwaar apparaat: respectievelijk 38 × 35,2 × 46,7 centimeter en 10,7 kilo. Reserveer dus voldoende ruimte in je beoogde koffiecorner. In de verpakking zit nog een klein doosje met losse accessoires, zoals een rooster, een aanbrenghulp voor het waterfilter, een teststrip voor de waterhardheid en een Nederlandstalige handleiding.

©Maikel Dijkhuizen

De Siemens EQ700 Integral neemt op het keukenblad best veel ruimte in beslag.

Robuuste behuizing

Siemens hanteert voor dit model weliswaar een stevige adviesprijs van 1249 euro, maar daar krijg je wel een stijlvol vormgegeven koffiemachine met een hoge bouwkwaliteit voor terug. Het apparaat is afgewerkt met roestvrij staal en stevig kunststof. Mooi meegenomen is dat alle losse onderdelen wel een stootje kunnen hebben, zoals het deksel van het bonenreservoir en de lekschaal. Alles voelt zeer solide aan.

De watertank van 2,4 liter heeft een handig handvat. Die vul je dus eenvoudig onder de kraan. Het bovenste vak biedt plek aan 320 gram bonen, terwijl je 700 milliliter in het melkreservoir kwijt kunt. Wil je melkdranken bereiden, dan klik je het benodigde reservoir aan de zijkant vast.

Duidelijk aanraakscherm

Het heldere touchscreen van 5 inch is een echte blikvanger. Dankzij het gebruiksvriendelijke menu laat de EQ700 Integral zich makkelijk bedienen. Als je de koffiemachine voor de eerste keer inschakelt, neem je eerst enkele instellingen door. Kies op het scherm onder andere de Nederlandse taal en koppel de koffiemachine optioneel aan de Home Connect-app op een smartphone (waarover later meer).

Neem even de tijd om het apparaat gebruiksklaar te maken. Je dient onder meer het waterfilter te ontluchten en de waterhardheid in te stellen. Volgens Siemens is het noodzakelijk om dit filter elke twee maanden te vervangen, maar je kunt de koffiemachine ook prima zonder gebruiken. Vermoedelijk moet je het apparaat dan wel wat vaker ontkalken.

©Maikel Dijkhuizen

Het felverlichte aanraakscherm springt direct in het oog.

Koffie bereiden

Een kopje koffie bereiden werkt simpel. Tik op het aanraakscherm op de soort koffie die je wilt drinken. De afbeeldingen zijn erg duidelijk, zodat gebruikers zich niet snel zullen vergissen. Je stelt bij elke variant de koffiesterkte, de hoeveelheid en het aromaprofiel in. Voor het aromaniveau selecteer je de optie Mild, Gebalanceerd of Karakteristiek. Kies je een melkdrank, dan tik je op het scherm eveneens op de gewenste hoeveelheid. Een nuttige functie is dat je elke koffiesoort met de gewenste bereidingsopties aan je favorieten kunt toevoegen.

Onder het tabblad Klassiekers vind je alle bekende koffiesoorten. Wil je eens wat anders uitproberen, dan tref je bij coffeeWorld nog véél meer variaties, waaronder wiener melange, café au lait en slow brew. Bij elke soort lees je op het scherm een korte beschrijving. Verder kies je via coffeeWorld+ ook nog koffierecepten in de Home Connect-app. Gebruik de app daarnaast om de bereiding op afstand te starten, instellingen te wijzigen en nieuwe software-updates te installeren.

De EQ700 Integral heeft onderhuids verschillende sensors. Die zorgen voor de juiste temperatuur en een goede verhouding tussen koffie en water. De keramische molen is verrassend stil. Boven de koffie- en melkuitloop bevinden zich twee felle ledlampen. Kortom, zet gerust ook in het donker een kopje koffie. Het allerbelangrijkste is natuurlijk dat de dranken lekker smaken. Daarover kunnen we kort zijn, want onder leiding van deze espressomachine bereid je heerlijke koffie.

©Maikel Dijkhuizen

Deze uitgebreide koffiemachine heeft twee ingebouwde ledlampjes.

Espressomachine reinigen

Elke uitgebreide koffiemachine vereist het nodige onderhoud, en dat is bij de EQ700 Integral niet anders. Siemens maakt het zijn gebruikers zo makkelijk mogelijk. Zo start de machine na elke melkdrank op eigen houtje een stoomspoeling om het kanaal voor de melktoevoer te reinigen. Zoals je van een apparaat in deze prijsklasse mag verwachten, kun je ook een ontkalkingsprogramma starten. Op jouw verzoek lees je op het scherm hoe je verschillende componenten kunt reinigen, zoals de zetgroep en drankuitloop. De instructies zijn erg duidelijk, waardoor je de papieren handleiding eigenlijk niet eens nodig hebt.

Siemens EQ700 Integral kopen?

Probeer je graag diverse koffievariaties uit, dan is de EQ700 Integral zeer geschikt. Je kunt naar hartenlust met uiteenlopende soorten en drankopties experimenteren. Houd je het liever alleen bij cappuccino, espresso en normale koffie? Dan zijn er goedkopere alternatieven op de markt.

▼ Volgende artikel
Review Philips Hue Essential: goedkoper aan de slag met Hue-lampen
© Rens Blom
Zekerheid & gemak

Review Philips Hue Essential: goedkoper aan de slag met Hue-lampen

Philips Hue is voor velen hét merk als het om slimme lampen gaat, maar de verlichting is niet goedkoop. Dat weet de fabrikant ook. Een nieuwe lijn Essential-lampen sluit een paar compromissen in ruil voor een veel lagere prijs. In deze review lees je hoe de Philips Hue Essential-lampen bevallen en waar je op inlevert ten opzichte van reguliere Hue-verlichting.

Uitstekend
Conclusie

De Philips Hue Essential-lampen sluiten een paar begrijpelijke compromissen ten opzichte van de reguliere Hue-verlichting. Die compromissen vinden wij niet storend. De Essential-verlichting bevalt ons goed, zeker als je weet dat drie E27 Essential-peertjes 50 euro kosten en drie normale E27 Hue-peertjes ruim 100 euro.

Plus- en minpunten
  • Scherpe prijs
  • Goede kennismaking met Hue-ecosysteem
  • Fijne slimme lampen, ook als uitbreiding van bestaand Hue-ecosysteem
  • Werkt pas voluit met optionele Hue Bridge (Pro)
  • Kortere levensduur t.o.v. reguliere Hue-verlichting

De Hue Essential-lijn is verkrijgbaar in diverse uitvoeringen, waaronder de door ons geteste E27-lampen die wittinten en kleuren kunnen tonen. We ontvingen een doos met drie E27-peertjes, die samen 50 euro kosten en die je direct kunt gebruiken - ook zonder Philips Hue-bridge. De lampen communiceren namelijk via bluetooth. Met een duidelijke maar: om de lampen te bedienen, moet je namelijk binnenshuis zijn. Wil je op een andere locatie je verlichting aanpassen, dan is er geen bluetooth-verbinding en kun je weinig uithalen. De Bridge (50 euro of 90 euro voor de Bridge Pro) lost dit probleem op. De bridge communiceert met de lampen en is zelf via wifi benaderbaar, waardoor jij overal met een internetverbinding je lampen kunt aansturen.

©Rens Blom

Installeren

De Essential-lampen installeren is een fluitje van een cent. Je pakt de Philips Hue-app erbij, scant de qr-code op een peertje en draait hem in een lamp. Daarna bepaal je de kleur van de lamp en kun je eventueel andere instellingen aanpassen. Dit werkt allemaal als een trein, zoals we van Philips Hue-verlichting gewend zijn. De Essential-lampen functioneren ook helemaal naar behoren binnen ons bestaande Hue-ecosysteem met niet-Essential-lampen. Scènes, automatiseringen en accessoires zijn allemaal te koppelen. Hier merk je duidelijk dat je producten van hetzelfde merk gebruikt.

©Rens Blom

Een peertje installeren is zo gepiept via de fijne Philips Hue-app.

Verschillen met reguliere Hue-lampen

Om de Essential-peertjes goedkoper in de markt te zetten, sluit Philips Hue een paar compromissen. De levensduur van een Essential-lamp is volgens de fabrikant maximaal 15 duizend uur, tegenover maximaal 25 duizend uur voor een reguliere Hue-lamp. Dat kun je op de lange termijn dus merken: je hebt dan sneller een nieuw peertje nodig. Twee andere verschillen kun je juist elke dag ervaren, al hangt dat ervan af of je ook duurdere Hue-lampen gebruikt. Want waar de standaard Hue-verlichting dimbaar is tot 0,2 procent, dimt een Essential-lamp tot 2 procent. Een Essential-lampje geeft op zijn laagste stand dus meer licht, wat mogelijk storend kan zijn als je de lamp als permanent nachtlampje gebruikt. Wij hebben ons er niet aan gestoord.

©Rens Blom

Je hebt een optionele Hue Bridge (Pro) nodig om alles uit de Essential-verlichting te halen.

Tot slot het derde verschil: de zogeheten kleurmenging. Een reguliere Hue-lamp gebruikt een geavanceerdere technologie om zijn kleuren af te geven, wat een mooie egale lichtgloed geeft. De Essential-verlichting gebruikt 'basis kleurmenging', stelt Philips Hue. Het licht komt daarom wat minder egaal uit het peertje. Dat zien wij als we onze premium Hue-lampen ernaast houden, maar op zichzelf produceren de Essential-lampen 'gewoon mooi' licht. Via de Hue-app kun je kiezen uit allerlei kleuren en scènes, van lavalamp-blauw tot een kaarsachtige gloed, inclusief bewegingen gesimuleerd door het peertje.

©Rens Blom

©Rens Blom

Conclusie: Philips Hue Essential kopen?

De Philips Hue Essential-lampen sluiten een paar begrijpelijke compromissen ten opzichte van de reguliere Hue-verlichting. Die compromissen vinden wij niet storend. De Essential-verlichting bevalt ons goed, zeker als je weet dat drie E27 Essential-peertjes 50 euro kosten en drie normale E27 Hue-peertjes ruim 100 euro.