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
Redesign van mobiele Netflix-app krijgt ruimte voor verticale video's
© ink drop - stock.adobe.com
Huis

Redesign van mobiele Netflix-app krijgt ruimte voor verticale video's

Netflix gaat dit jaar zijn mobiele app van een redesign voorzien. Daarbij komt er ruimte voor verticale video's om het verticale scherm van smartphones tegemoet te komen.

Dat kondigde co-CEO Greg Peters gisteren aan tijdens een gesprek met investeerders. De nieuwe interface van de mobiele app is nog niet getoond, maar moet ergens dit jaar uitkomen en Netflix helpen met "de uitbreiding van onze zaken gedurende het komende decennium".

Verticale video's

Netflix geeft aan dat het al sinds mei vorig jaar experimenteert met verticale video's. Daarbij worden er korte clips uit films en series van Netflix getoond in een verticaal formaat - iets wat voor smartphonegebruikers wereldwijd steeds natuurlijker voelt dankzij socialmedia-apps als TikTok en Instagram. Daarbij wordt het voor consumenten steeds normaler om videocontent op hun mobiel te kijken in plaats van op tv.

Netflix wil de opties voor verticale video's dus uitbreiden en de vernieuwde mobiele app die later dit jaar uit zal komen, moet dit mogelijk maken. Daarnaast wil het bedrijf ook meer stappen maken in de wereld van videopodcasts, waar de vernieuwde app ook geschikter voor moet worden. Deze week heeft Netflix de eerste exclusieve videopodcasts gedebuteerd.

Plannen van Netflix

De hierboven beschreven veranderingen lijken te suggereren dat Netflix zijn markt wil verbreden en het een en ander leert van populaire socialmediaplatforms. Tegelijkertijd blijft het streamingbedrijf investeren in nieuwe films en series.

Netflix wil ook nog altijd filmproductiebedrijf Warner Bros. overnemen, en daarmee dus ook HBO Max. Beide bedrijven zien de overname zitten, maar Paramount zit ertussen en wil Warner Bros. ook graag overnemen. Uiteindelijk beslissen aandeelhouders van Warner Bros. Daarom heeft Netflix de overnamedeal deze week nog wat verfijnd, waarbij er in meer 'contant' geld uitbetaald wordt in plaats van aandelen.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Hoe kies je de juiste powerbank?
© Tevarak Phanduang | NaMaKuki_2016
Huis

Hoe kies je de juiste powerbank?

Je bent onderweg en ziet dat je telefoon nog maar vijf procent batterij heeft. Op dat moment is een powerbank precies wat je nodig hebt. Alleen: welke? De juiste keuze begint met twee vragen: hoeveel energie heb je onderweg nodig en hoe snel moet die energie eruit kunnen?

In dit artikel

Je leest hier hoe je een powerbank kiest die past bij jouw gebruik. Je ziet waarom mAh op de verpakking niet alles zegt en hoe je met wattuur (Wh) beter ziet hoeveel energie een powerbank kan opslaan en afgeven.  Ook leggen we uit waar laadsnelheid vandaan komt, wat usb-c en Power Delivery doen en waarom de juiste kabel bij hogere vermogens belangrijk is. Tot slot krijg je tips voor het opladen van een tablet of laptop.

Lees ook: Slimme tips om energie te besparen op je smartphone

Capaciteit: mAh is handig, maar reken in Wh

In de specificaties van powerbanks zie je bijna altijd een getal in milliampère-uur (mAh). Maar daarbij moet je je wel realiseren dat dat niet het hele verhaal is. Fabrikanten geven die mAh vaak op bij de interne batterijspanning van de cellen in de powerbank (meestal rond 3,6 tot 3,7 volt). Jouw telefoon laadt meestal via 5 volt, en bij snelladen soms op 9 of 12 volt. Die omzetting kost energie.

Zie de powerbank als een watertank met een kraan die je moet omzetten naar een andere maat aansluiting. Dat omzetten levert altijd wat verlies op. Daarom haal je in de praktijk niet 10.000 mAh uit 10.000 mAh. Reken grofweg met een bruikbare opbrengst die vaak ergens rond de 60 tot 80 procent ligt, afhankelijk van de kwaliteit van de elektronica en hoe je laadt. Met 10.000 mAh kun je een gemiddelde smartphone daarom meestal geen twee keer volledig vullen, maar eerder ongeveer anderhalf keer. Heb je een telefoon met een kleinere accu, dan kom je dichter bij de opgegeven twee keer; met een grotere accu haal je dat juist minder snel.

Wil je wat preciezer rekenen, kijk dan naar wattuur (Wh). Dat is de eenheid die echt iets zegt over hoeveel energie erin zit. Een eenvoudige omrekening helpt: Wh = (mAh × volt) / 1000. Staat er op de powerbank bijvoorbeeld 10.000 mAh bij 3,7 V, dan is dat ongeveer 37 Wh aan energie in de cellen, voordat je het omzetverlies meeneemt.

Powerbanks vergelijken

In de winkel zie je bijna altijd mAh als capaciteitsaanduiding. Zoals je hierboven hebt kunnen lezen is dat niet perfect. Maar omdat fabrikanten dezelfde soort cellen gebruiken en allemaal op dezelfde manier rekenen, kun je mAh wel gebruiken om powerbanks onderling te vergelijken. Heb je een powerbank gevonden die je wat lijkt, dan kun je bovenstaande berekening gebruiken om een meer realistisch beeld van het aantal keer opladen te krijgen.

View post on TikTok

Hoeveel capaciteit heb je echt nodig?

Als je vooral een extra lading voor je telefoon zoekt op een lange dag, dan zit je met 10.000 mAh in de praktijk vaak goed. Is 'bijna vol' al al genoeg, dan kan 5.000 mAh ook, maar reken er dan niet op dat je elke moderne smartphone die helemaal leeg is weer volledig volgeladen krijgt. Ga je een weekend weg of laad je meerdere apparaten op, dan is 20.000 mAh een logische stap. Je hebt dan meer oplaadcapaciteit, maar houd er wel rekening mee dat dat ook betekent dat de powerbank groter en zwaarder is.

Voor tablets geldt hetzelfde principe, alleen is de interne accu meestal groter dan die van een telefoon. Daardoor lijkt een powerbank die voor je telefoon prima is, bij een tablet ineens snel leeg. Dat is niet vreemd: je giet simpelweg meer water in een grotere emmer. Voor laptops ligt het net even anders: daar draait het niet alleen om capaciteit, maar vooral om het vermogen (wattage). Daar komen we zo op terug.


🔋Tot zover ging het over de hoeveelheid energie (mAh/Wh). De volgende stap is de afgifte: met welk vermogen (watt) kan de powerbank die energie aan je telefoon, tablet of laptop leveren? 


Snelheid: wattage maakt het verschil

Capaciteit zegt iets over hoe vaak je kunt laden. Snelheid gaat over wattage: hoeveel vermogen de powerbank kan leveren. Dat vermogen is vooral relevant als je snel wilt bijladen, of als je een tablet of laptop wilt opladen. USB-c is daarbij de norm geworden, en USB Power Delivery (PD) is de techniek waarmee lader en toestel afspraken maken over spanning en stroom. Je powerbank en je telefoon of laptop stemmen dat onderling af, zodat laden snel kan zonder dat het onveilig wordt. Daarvoor moeten de poort en je kabel het wel ondersteunen. Let daarom ook op de aansluitingen: usb-c heb je nodig voor snelladen met Power Delivery, terwijl usb-a vooral handig is als je oudere kabels of accessoires gebruikt.

©vadish - stock.adobe.com

Eén powerbank voor telefoon én laptop: waar je op let

Een laptop opladen vraagt meer dan een telefoon. Bij een telefoon kom je vaak weg met 10 tot 20 watt. Een laptop heeft meestal 45 watt of meer nodig, en veel modellen werken prettiger met 65 watt of hoger, zeker als je tijdens het laden ook blijft werken. De beste snelcheck is simpel: kijk naar het wattage van je eigen laptoplader. Dat is je richtgetal. Zit je daar ver onder, dan kan het laden extreem traag worden, of je laptop accepteert de lader helemaal niet.

Ook de juiste kabel is belangrijk. Voor hogere vermogens is niet elke usb-C-kabel geschikt. Tot ongeveer 60 watt (meestal 20 V bij 3 A) gaat het vaak goed met een kabel die expliciet 3 A ondersteunt. Ga je boven de 60 watt, dan heb je doorgaans een usb-c-kabel nodig die 5 A aankan. Zulke kabels hebben meestal een kleine chip in de stekker, een zogeheten e-marker. Die chip vertelt aan de powerbank en je laptop dat de kabel veilig meer stroom kan verwerken. Zie het als een identiteitsbewijs: zonder e-marker schakelt het systeem vaak terug naar een lagere stand, zodat het laden langzamer gaat en de kabel niet te warm wordt. Kijk in de specificaties of op de kabel zelf of er 3 A (tot circa 60 W) of 5 A (voor hogere vermogens) staat; dat is de snelste check. 

Formaat en gewicht: energie weegt nu eenmaal wat

Meer capaciteit betekent meestal meer cellen, en dus meer gewicht. Een powerbank van 20.000 mAh zit vaak ergens in de buurt van 350 tot 500 gram. Dat voelt in een jaszak al snel log. In een rugtas valt het mee. Stel jezelf dus de vraag: wil je elke dag een kleine powerbank mee voor noodgevallen, of is dat voor jou niet genoeg en ga je dus voor een grotere powerbank? 

Veiligheid: kies niet alleen op prijs

Bij draagbare accu's wil je geen twijfel over veiligheid. Een powerbank hoort bescherming te hebben tegen oververhitting, overladen en kortsluiting, maar bij heel goedkope modellen is dat niet altijd goed geregeld. De kans dat het misgaat is klein, alleen zijn de gevolgen groot als het wél gebeurt. Kies daarom liever een merk dat laat zien hoe het met veiligheid omgaat en dat testnormen en keurmerken gewoon vermeldt. Je hoeft die standaarden niet uit je hoofd te leren, maar het helpt als een merk concreet zegt welke testen en keurmerken het gebruikt. 

Zo kies je de juiste powerbank

 De juiste powerbank kies je door stap voor stap te bepalen wat je nodig hebt: eerst de hoeveelheid energie (liefst in Wh, met mAh als praktische indicatie), daarna de laadsnelheid (wattage en PD), en pas daarna pas de vorm en het gewicht. Voor dagelijks gebruik zit je vaak goed met een compacte powerbank rond 10.000 mAh met usb-c en Power Delivery. Wil je meer capaciteit zodat je meerdere keren kunt opladen (of ook je tablet opladen), dan is 20.000 mAh logischer. Houd er dan wel rekening mee dat de powerbank zwaarder wordt. Wil je ook een laptop kunnen laden, kijk dan naar het wattage van je laptoplader en kies een powerbank die dat vermogen via usb-c PD kan leveren, inclusief een kabel die geschikt is voor dat hogere vermogen.