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
AI-tip: zo maak je zelf (heel snel!) een geïllustreerd kinderboek met Storybook
Huis

AI-tip: zo maak je zelf (heel snel!) een geïllustreerd kinderboek met Storybook

Word de held van je (klein)kinderen door hen te verrassen met een uniek, zelfgemaakt verhalenboek. Laat hen zelf de grote lijnen van het verhaal bedenken en zie hoe je dankzij Storybook in een handomdraai een prachtig digitaal boekje creëert, compleet met een mooie cover en bijpassende illustraties.

Dit gaan we doen

In dit artikel laten we zien hoe je met Google Storybook een persoonlijk prentenboek maakt. Je leest hoe je een goede prompt schrijft, hoe het boek automatisch wordt opgebouwd met tekst en illustraties en welke extra opties er zijn, zoals voorlezen, delen en downloaden als pdf. Zo weet je precies wat je kunt verwachten en hoe je het resultaat afstemt op je (klein)kind.

Lees ook: Handige AI-apps voor mobiel

Stap 1: De prompt

Storybook draait op de Gemini AI-chatbot van Google. De functie is gloednieuw en op dit moment alleen te gebruiken via het web, niet via de Gemini-apps voor Android of iPhone. Het goede nieuws: Storybook is helemaal gratis. Je hoeft dus geen betaald abonnement te nemen om het uit te proberen. Wel moet je ingelogd zijn met je Google-account. Surf vervolgens naar: https://gemini.google.com/gem/storybook

Net als bij andere generatieve AI-tools start je met een tekstopdracht, de zogeheten prompt. In een paar zinnen beschrijf je het onderwerp. Of je kiest voor een uitgebreidere instructie, bijvoorbeeld: "Kun je een verhaal maken dat aan een kind uitlegt hoe het leven van een vlinder eruitziet?"

Geef Storybook een tekstopdracht.

Stap 2: Prentenboek van 10 pagina's

Boven het tekstvak vind je alvast enkele inspirerende voorbeelden van recente prompts, compleet met het bijbehorende verhaal. Denk aan: 'Mijn kind van 7 wil niet logeren bij oma. Maak een Storybook om haar te helpen hiermee om te gaan.' Je kunt je eigen prompt typen, maar ook inspreken: klik op het microfoontje, geef Gemini toegang tot je microfoon en vertel je opdracht. Enkele seconden later verschijnt het prentenboek op het scherm. Elk boek telt tien pagina's, inclusief een prachtige omslag én een door Gemini bedachte titel. Met iedere klik blader je door het verhaal. De tekst is verzorgd opgemaakt en de illustraties zijn verrassend sfeervol. Wij waren aangenaam verrast door de kwaliteit.

Naast iedere tekst staat een bijpassende illustratie.

Stap 3: Lezen of luisteren

Je kunt het verhaal natuurlijk gewoon lezen, maar Storybook heeft nog een extra troef: een ingebouwde voorleesfunctie. Daarbij kun je kiezen om alleen de huidige pagina te beluisteren of om vanaf de eerste pagina te beginnen. De hoogte van de stem is instelbaar, zodat je een toon kunt kiezen die het best bij het verhaal of de luisteraar past. En het plezier stopt daar niet: via de Deel-knop krijg je een unieke link naar jouw persoonlijke Storybook. Die kun je eenvoudig doorsturen naar familie, vrienden of de kinderen zelf, zodat ze het boekje op hun eigen toestel kunnen bekijken en beluisteren. Bovendien kun je het boekje ook downloaden als pdf. Wil je dat je kind ook offline kan bladeren, dan kun je het dus voor hem of haar printen.

Je ontvangt een link om het geïllustreerde verhaal te delen.

🧚Sprookjesboek geschreven?

👑 Daar hoort een prinsessenjurk bij!
▼ Volgende artikel
Gourmetten zonder stank: 10 ideeën die écht werken
© NilsZ - stock.adobe.com
Huis

Gourmetten zonder stank: 10 ideeën die écht werken

Gourmetten is misschien wel dé nationale volkssport tijdens de feestdagen. Maar hoe leuk de avond ook is, de ochtend erna is vaak minder feestelijk. Die doordringende vetlucht die in je gordijnen, bank en kleding is getrokken, ben je liever kwijt dan rijk. Met deze tien tips – verdeeld over wat je eet en wat je doet – blijft je huis een stuk frisser!

Dit gaan we doen

Stankvrij gourmetten is een kwestie van goede voorbereiding én de juiste nazorg. We splitsen de tien tips daarom op. We beginnen bij de basis: ingrediënten en spullen die nauwelijks rook veroorzaken. Vervolgens geven we je praktische hacks om, mocht er toch wat gourmetlucht blijven hangen, die direct weer uit je woonkamer te krijgen, zodat je de volgende ochtend wakker wordt in een fris huis.

Lees ook: Gourmetten nieuwe stijl: topfavoriet met een eigen twist

Ingrediënten & materialen

De meeste stank ontstaat niet door het gourmetstel zelf, maar door wat we erop leggen. Verbrande boter, karamelliserende suikers en spetterend vet zijn de grote boosdoeners. Met een paar slimme aanpassingen aan je boodschappenlijstje ben je de rookwolken voor.

Tip 1: Investeer in hittebestendige olie

De fout die bijna iedereen maakt: bakken in roomboter of standaard olijfolie. Deze vetten verbranden snel bij de hoge temperaturen van het gourmetten, wat zorgt voor die zware, scherpe walm. Kijk in de supermarkt eens schuin boven de olijfolie; daar vind je rijstolie of arachideolie. Deze oliesoorten hebben een veel hoger rookpunt en blijven stabiel als ze heet worden. Wil je het jezelf helemaal makkelijk maken? Koop dan een bakspray. Daarmee nevel je de pannetjes of de plaat licht in, waardoor je nooit te veel gebruikt en het vet niet onnodig staat te walmen.

Tip 2: Laat de kant-en-klare marinades staan

Die voorgemarineerde schotels uit de supermarkt zijn makkelijk, maar funest voor de luchtkwaliteit. De marinades zitten namelijk vaak vol suiker en water. Zodra dat de hete pan raakt, verbrandt de suiker en verdampt het vocht, met veel rook tot gevolg. Je kunt beter ongemarineerd vlees of vis kopen. Wil je toch smaak? Gebruik dan een dry rub (een droog kruidenmengsel) om het vlees vooraf te kruiden. Als je echt van sausjes houdt, kun je die beter koud op je bord toevoegen dan warm in het pannetje.

Tip 3: Kies voor 'droger' vlees en meer groente

Hoe meer vet er in het vlees zit, hoe meer het spettert en rookt. Hamburgers, worstjes en speklapjes zijn in feite kleine rookbommen. Kies liever voor magere opties zoals biefstuk, kipfilet, kalkoen of witvis. Daarnaast kun je de geuroverlast flink beperken door de verhouding vlees/groente om te draaien. Plakjes courgette, paprika, champignons en aubergine bakken vrijwel geurloos. Met een goede mandolineof groentesnijder maak je in een handomdraai dunne plakjes die snel gaar zijn, waardoor je minder lang hoeft te bakken.

Tip 4: Vervang die oude, bekraste pannetjes

Kijk voordat je begint eens kritisch naar je huidige gourmetstel. Zitten de pannetjes vol krassen en is de antiaanbaklaag versleten? Dan koekt je eten sneller aan, wat zorgt voor verbrandingsluchtjes die je de dag erna nog ruikt. Het is vaak helemaal niet nodig om een compleet nieuw apparaat te kopen; veel fabrikanten verkopen losse pannetjes of nieuwe bakplaten. Voor een paar tientjes bak je weer op een glad oppervlak, heb je minder olie nodig en ben je niet de hele avond bezig aangekoekte resten weg te schrapen.

Tip 5: Gebruik een gourmetstel met keramische coating

Ben je toch toe aan een heel nieuw apparaat? Let dan goed op de coating. Tegenwoordig zijn er gourmetstellen met een keramische bakplaat. Deze kunnen vaak hogere temperaturen aan zonder dat de laag beschadigt en ze zijn veel makkelijker schoon te maken.

Watch on YouTube

Zo ga je de strijd aan met de luchtjes in huis

Zelfs met de beste ingrediënten ontkom je niet aan enige baklucht. Gelukkig zijn er genoeg manieren om te voorkomen dat die geur permanent blijft hangen.

Tip 6: Zet een aromadiffuser aan

Een geurkaars maskeert de lucht vaak alleen maar, waardoor je een weeïge mengeling krijgt van lavendel en hamburger. Een betere optie is een elektrische aromadiffuser (ook wel vernevelaar genoemd). Dit apparaat verspreidt via koude waterdamp een constante, frisse geur naar keuze door de kamer, zonder dat er verbranding aan te pas komt. Kies voor essentiële oliën die bekend staan om hun verfrissende werking, zoals citroengras, eucalyptus of dennen. De waterdamp helpt bovendien meteen tegen de droge lucht in huis als de verwarming hoog staat.

Tip 7: Laat de luchtreiniger draaien

Misschien heb je er al eentje staan, en anders is dit het moment: de luchtreiniger. Let er bij aanschaf op dat het apparaat een koolstoffilter heeft, want alleen HEPA is niet genoeg voor kookluchtjes. Een koolstoffilter absorbeert gassen en geuren. Zet het apparaat niet pas aan als je naar bed gaat, maar laat hem al draaien zodra het gourmetstel aangaat. Heb je een modern exemplaar met een app? Zet hem dan alvast op de hoogste stand voordat de eerste walm ontstaat.

Tip 8: Ventileer flink

Ramen openzetten klinkt logisch, maar doe het wel slim. Eén raampje op een kier doet weinig. Je hebt trek nodig. Zet aan weerszijden van de woning een raam of rooster open zodat de luchtstroom de damp direct meeneemt. Vind je het te koud worden? Zet de verwarming gerust tijdelijk wat hoger; de kosten daarvan wegen niet op tegen de stomerijkosten van je gordijnen. Plaats eventueel een simpele tafelventilator in de buurt van het gourmetstel (niet erop gericht, maar richting het open raam) om de rook een handje te helpen de juiste kant op te gaan.

Tip 9: Azijn & koffie

Het is een klassieker uit grootmoeders tijd, maar hij werkt nog steeds: azijn neutraliseert. Je kunt bakjes azijn neerzetten, maar voor het zware werk kun je na het eten beter even een pannetje water met een flinke scheut schoonmaakazijn op het fornuis koken. Laat de afzuigkap uit en laat de damp door de kamer trekken. Vind je de azijnlucht zelf te heftig? Gooi er dan wat citroenschillen, een kaneelstokje of kruidnagel bij. Zo ruikt je huis direct weer naar winterse gezelligheid in plaats van naar een snackbar. Wat ook kan, is koffie. Zet na het eten een paar schaaltjes met gemalen koffie (snelfiltermaling) in de woonkamer. De koffie neutraliseert de zware baklucht en vervangt deze door een neutraal, aards aroma. Voor een nog sterker effect kun je wat koffiebonen op een warme onderzetter leggen; door de restwarmte verspreiden ze een subtiele geur die de gourmetlucht naar de achtergrond verdrijft.

Tip 10: Maak meteen met schoon

Het is verleidelijk om na het eten uit te buiken op de bank en de ravage te laten voor wat het is. Doe het niet. Zolang het gourmetstel vet en warm in de kamer staat, blijft het geur verspreiden. Haal direct na het eten een stuk keukenrol over de plaat. Gebruik daarna een sopje van afwasmiddel en warm water om de plaat en de tafel (want ja, vetnevel komt overal) af te nemen. Geloof ons, door hier na het eten even een paar minuten tijd voor vrij te maken, bespaar je jezelf de volgende ochtend een hoop gourmetluchtfrustratie!