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
De beste koptelefoon voor in de trein: rustig reizen met noise cancelling
© Svetlana - stock.adobe.com
Huis

De beste koptelefoon voor in de trein: rustig reizen met noise cancelling

Behoefte aan totale rust tijdens je treinreis? De juiste koptelefoon filtert lawaai weg en verhoogt je concentratie. Ontdek waarom active noise cancelling (ANC) niet mag ontbreken. Wij laten je zien welke functies, zoals comfort en lange accuduur, belangrijk zijn voor de forens of gelegenheidsreiziger.

Reizen met de trein kan heerlijk zijn, maar luidruchtige medepassagiers en het gedender over het spoor verstoren nogal eens de rust. Een goede koptelefoon maakt hier het verschil tussen irritatie en ontspanning. Als je op zoek bent naar de beste optie voor onderweg, is er eigenlijk maar één technologie die er echt toe doet: active noise cancelling. In dit artikel lees je waar je precies op moet letten.

Waarom active noise cancelling onmisbaar is

De absolute topprioriteit voor elke treinreiziger is active noise cancelling, oftewel ANC. Deze techniek gebruikt microfoons aan de buitenkant van de oorschelpen om omgevingsgeluid op te vangen en een tegengeluidsgolf te produceren. Vooral het constante, lage gebrom van de treinmotor en de wielen op de rails worden hiermee effectief weggefilterd. Hoewel geen enkele koptelefoon álle geluiden volledig blokkeert, zorgen modellen met hoogwaardige ANC ervoor dat je op een normaal volume naar muziek of podcasts kunt luisteren zonder dat je het volume ongezond hard hoeft te zetten om het lawaai te overstemmen.

Over-ear versus in-ear in het openbaar vervoer

Naast de technologie is de pasvorm van groot belang voor de demping. Over-ear modellen, die volledig over je oren vallen, bieden van nature al een goede passieve isolatie. De oorkussens sluiten je gehoorgang af van de buitenwereld, wat de actieve ruisonderdrukking aanzienlijk ondersteunt. Voor de meeste forenzen is dit de beste keuze. In-ear oordopjes zijn weliswaar compacter en makkelijker mee te nemen, maar laten vaak toch iets meer geluid door omdat ze minder fysieke barrière opwerpen. Als comfort en maximale stilte voorop staan, wint de over-ear variant het sowieso.

©ER | ID.nl

Comfort en accuduur voor lange ritten

Omdat je in de trein vaak langere tijd stilzit, mag de koptelefoon niet gaan knellen. Let daarom goed op de kwaliteit van de hoofdband en de oorkussens; traagschuim (memory foam) is hierbij een aanrader omdat dit materiaal zich naar je hoofd vormt en de druk verdeelt. Daarnaast is de accuduur een belangrijke factor voor de frequente reiziger. Zoek naar modellen die minimaal 20 tot 30 uur meegaan met ANC ingeschakeld. Veel moderne koptelefoons beschikken bovendien over snellaadfuncties, waardoor je na 10 minuten laden weer uren vooruit kunt. Daarmee voorkom je dat je halverwege je reis opeens zonder muziek komt te zitten.

Connectiviteit en handige functies

Een functie die specifiek in de trein van pas komt, is de transparantiemodus. Hiermee versterk je tijdelijk het omgevingsgeluid via de microfoons, zodat je een omroepbericht van de conducteur kunt horen zonder je koptelefoon af te zetten. Ook multipoint-bluetooth is een waardevolle toevoeging voor forenzen die werken tijdens het reizen. Hiermee koppel je de koptelefoon gelijktijdig aan zowel je smartphone als je laptop, zodat je naadloos kunt wisselen tussen een videocall en je favoriete afspeellijst zonder opnieuw verbinding te hoeven maken.

Populaire merken voor noise cancelling koptelefoons

Als we kijken naar de marktleiders op het gebied van ruisonderdrukking, springen een paar namen er direct uit. Sony wordt al jaren geprezen om hun toonaangevende XM-serie, die bekendstaat om uitstekende ANC-prestaties en uitgebreide app-ondersteuning. Bose is de directe concurrent en blinkt vaak uit in draagcomfort en zeer effectieve stilte, wat bijvoorbeeld de QuietComfort-serie enorm populair maakt onder zakelijke reizigers. Voor liefhebbers van een meer audiofiele geluidsweergave is Sennheiser een sterke optie, waarbij geluidskwaliteit en functionaliteit in balans zijn, zoals de Momentum 4. Tot slot kiezen Apple-gebruikers vaak voor de AirPods Max en AirPods Pro vanwege de naadloze integratie met hun andere apparaten, hoewel deze in een aanzienlijk hoger prijssegment vallen.

▼ Volgende artikel
Waar voor je geld: 5 dual-sim smartphones voor minder dan 300 euro
© ID.nl
Huis

Waar voor je geld: 5 dual-sim smartphones voor minder dan 300 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt en die zijn voorzien van handige functies. Daarom gaan we een paar keer per week voor je op zoek naar zulke deals en kijken we op vergelijkingssite Kieskeurig.nl wat er zoal te vinden is. Dit keer: betaalbare smartphones met dual-sim voor minder dan 300 euro.

Met een dual-sim-telefoon kun je twee telefoonnummers tegelijkertijd gebruiken, zodat je bijvoorbeeld je zakelijke- en privénummer op één toestel kunt hebben. Dat scheelt weer het meeslepen van een extra telefoon wanneer je op pad bent. Wij zochten naar vijf betaalbare smartphones met dual-sim-mogelijkheden op Kieskeurig.nl voor minder dan 300 euro.

Motorola moto g35 5G / 128 GB

De Motorola moto g35 5G is een betaalbare telefoon met dual‑sim, waarvan één een nano-sim is, en de andere een eSim.. Het toestel heeft 128 GB opslag en draait op Android Het scherm meet ongeveer 17,1 cm (6,7 inch) en de batterij van 5 000 mAh zorgt voor een lange gebruiksduur Volgens de specificaties is de hoofdcamera 50 megapixel en ondersteunt het toestel 5G. De telefoon is waterafstotend en heeft een snelle oplader in de doos.

Samsung Galaxy A15 4G

De Samsung Galaxy A15 is een betaalbare smartphone met 4G‑ondersteuning. Volgens de specificaties heeft hij 128 GB opslag, een 6,5‑inch AMOLED‑scherm en draait hij op Android. De batterijcapaciteit bedraagt 5 000 mAh en de hoofdcamera is 50 megapixel. Dankzij de grote batterij en efficiënte processor kun je de telefoon gerust een dag gebruiken zonder opladen. Let op: deze telefoon is uitgebracht in december 2023, het gaat dus om een wat ouder model. Deze telefoon ondersteunt bijvoorbeeld daardoor geen 5G.

Xiaomi POCO C75 

De Xiaomi POCO C75 is een grote smartphone met een 6,88‑inch scherm. Hij beschikt over 128 GB opslagruimte, een 5 160 mAh batterij en wordt aangedreven door Android. De specificaties vermelden een 50 megapixel hoofdcamera en 13 megapixel selfiecamera. Het toestel ondersteunt dual‑SIM, zodat je twee nummers tegelijk kunt gebruiken. Met een prijs ruim onder de 150 euro (ten tijde van het maken van dit overzicht) is de C75 gericht op budgetbewuste gebruikers die toch een groot scherm en voldoende opslagcapaciteit willen.

Motorola Edge 60

De Motorola Edge 60 combineert een groot P‑OLED‑scherm van 6,67 inch met 5G‑ondersteuning. Het toestel is uitgerust met 256 GB opslagcapaciteit en draait op Android. In de specificaties staat een 5 200 mAh accu en een 50 megapixel camera. Het toestel heeft twee simkaartsleuven (dual‑SIM) zodat je eenvoudig kunt schakelen tussen privé‑ en werknummer. De waterdichte behuizing met IP68‑certificering beschermt tegen stof en water.

Xiaomi Redmi 15 256GB Dual SIM

De Xiaomi Redmi 15 is een betaalbare smartphone met een groot 6,9‑inch scherm en 256 GB opslag. De batterij heeft een capaciteit van 7 000 mAh, wat ruim voldoende is voor twee dagen gemiddeld gebruik. Het toestel ondersteunt dual‑sim en 4G, waardoor je twee simkaarten tegelijk kunt gebruiken. De specificaties melden een 50 megapixel hoofdcamera en een 8 megapixel frontcamera. Met een prijs van ongeveer 159 euro past deze smartphone ruim binnen het budget. Dankzij de grote opslag en de royale batterij is de Redmi 15 een interessante optie voor wie een dual‑sim‑telefoon zoekt zonder veel geld uit te geven.