ID.nl logo
Huis

Html5 en css3

Html5 belooft de nieuwe standaard te worden voor websites. Dankzij de nieuwe versie van html kunnen sites interactiever worden. In combinatie met css3 wordt de vormgeving bovendien een stuk makkelijker.

De nieuwe standaard voor html5 is nog lang geen feit. Er wordt nog hard aan gewerkt, maar er is wel een ‘voorlopig ontwerp’ (W3C working draft) klaar. Diverse browsers ondersteunen de standaarden die hierin worden genoemd. Helaas geldt dat nog niet voor de huidige versie van Internet Explorer, maar Chrome, Safari en Firefox zijn al wel (deels) zover. De bètaversie van Internet Explorer 9 ondersteunt ook delen van html5. Kortom, reden genoeg om alvast ervaring op te doen met deze standaard van de toekomst.

Met html5 en css3 kunt u ook eenvoudig fraaie, uitklappende menu’s maken. Dat kan met deze code. Om te beginnen de css:

<style type="text/css">      ul, li {           list-style-type: none;      }      #menu {           background:#e3e3e3;           padding: 3px;      }      #menu > li {           position: relative;           display: inline-block;      }      .submenu {           background:#e3e3e3;           position: absolute;           z-index: 0;           opacity: 0;           padding: 2px;        }      .submenu li {           background:#fff;      }      #menu > li:hover .submenu, #nav > li.focus .submenu      {           opacity: 1;      }      #menu > li:hover .submenu li, #nav > li.focus .submenu li      {           height: 25px;      } </style>

-

In deze (sterk vereenvoudigde) css-code wordt bepaald dat de menu-items in een horizontale balk worden weergegeven. Dat gebeurt door het gebruik van display: inline-block. Via .submenu wordt bepaald dat de submenu’s worden weergegeven als blokjes onder het hoofdmenu. Deze css-code kan gecombineerd worden met volgende html-code:

<nav>      <ul id="menu">           <li>Home</li>           <li>Over                 <ul class="submenu">                      <li>Geschiedenis</li>                      <li>Medewerkers</li>                 </ul>           </li>           <li>Contact                 <ul class="submenu">                      <li>Adresgegevens</li>                      <li>E-mailadres</li>                 </ul>           </li>      </ul> </nav>

-

Aan het menu kunt u nog een fraai animatie-effect toevoegen door de volgende code toe te voegen aan het css-gedeelte. Voeg dit toe aan .submenu li:

-webkit-transition: all 0.2s; -moz-transition: all 0.2s; transition: all 0.2s;

-

Dit zorgt ervoor dat het menu uitklapt in 0,2 seconden.

Tot slot geven we zijbalk nog een animatie-effect mee. Hierdoor zal dit blok uitzoomen en lichtjes terugdraaien, zodra de bezoeker er met de cursus overheen gaat. In feite creëert u hiermee dus een animatie die meestal met Flash wordt gedaan! Gebruik hiervoor de volgende code in uw css:

.zijbalk:hover {     -webkit-transition: all 1s ease-in-out; left-margin: 100px;     -moz-transition: all 1s ease-in-out;     -webkit-transform: rotate(360deg) scale(1.5); left-margin: 100px;     -moz-transform: rotate(360deg) scale(1);      display: block;      display: inline; float: left; margin: 20px 0 0px 60px;   }

-

U ziet in deze code dat de transitie (beweging) één seconde duurt. Tegelijkertijd verandert de left-margin naar 100 pixels om te voorkomen dat het blok uit beeld verdwijnt. Via transform wordt bepaald dat de rotatie 360 graden wordt en de schaal (uitvergroting in dit geval) anderhalf bedraagt.

Als u over het blokje heengaat, wordt deze anderhalf keer vergroot en gaat weer recht staan. 

Het is met html5 mogelijk om tekst (of een afbeelding) schuin neer te zetten. Zo kunt u tekst 90 graden te draaien, zodat deze verticaal op het scherm staat. Uiteraard is het ook mogelijk om de tekst minder sterk te draaien. Het is een leuke optie, bijvoorbeeld om een speels effect te bereiken. We blijven bij het voorbeeld uit de vorige tips, maar willen de tekst met het kader eromheen nu lichtjes schuin plaatsen. Daartoe voegen we de volgende code toe:

-webkit-transform: rotate(-2deg); -moz-transform: rotate(-2deg); transform: rotate(-2deg);

-

Als u de afbeeldingen bekijkt, ziet u dat Safari de schuin gedraaide blokjes wat fraaier weergeeft dan Chrome. Bij de laatste browser wordt het wel erg blokkerig.

Een blok iets schuin gedraaid in Safari en Chrome.

Met behulp van html5 en css3 is ook mogelijk om een kleurverloop toe te voegen. Dat kan bijvoorbeeld gelden voor de achtergrondkleur van uw website, maar u kunt ook een kadertje voorzien van zo’n verloopkleur. We blijven bij ons voorbeeld van een zijbalk met afgeronde hoeken. Behalve een schaduw gaan we nu ook een verloopkleur toevoegen. Voor Chrome en Safari doet u dat met deze code:

background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#967C52));

-

De kleur verandert van wit naar lichtbruin. De verandering vindt lineair plaats van linksboven naar linksonder. Eventueel kunt u nog een tussenstap inbouwen, waarbij op de helft een lichtbruine kleur wordt toegevoegd:

background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#967C52), color-stop(.5,#F0F0D8));

-

Om ook Firefox-browsers te ondersteunen, kunt u deze code toevoegen:

background: -moz-linear-gradient(top, #fff,#967C52);

-

Kleurverloop.

Het maken van kader rondom tekst met afgeronde hoeken was altijd een ingewikkeld klusje, maar met html5 wordt het een stuk eenvoudiger. Er is nog wel een probleem. Aangezien html5 nog geen definitieve standaard is, ondersteunen Chrome en Firefox nog niet de voorgestelde standaarden. Ze gebruiken eigen code. Daardoor moet u drie codes opnemen om het in zowel Chrome, Firefox als Opera te laten werken (in de huidige Internet Explorer werkt het nog niet). In onderstaand voorbeeld ziet u hoe u een zijbalk kunt maken met een kader rondom tekst dat afgeronde hoeken bevat:

<style type="text/css"> .zijbalk { -moz-border-radius: 45px; -webkit-border-radius: 45px; border-radius: 45px; border: 6px solid ccc; padding: 10px;width:200px; } </style>

-

Door de border-radius een waarde mee te geven, bepaalt u de ronding van het hoeken. In dit geval hebben we gekozen voor 45 pixels.

Afgeronde hoeken met html5.

We gaan nog even door op het bovenstaande voorbeeld. Het is mogelijk om met html5 schaduwen te genereren. U hoeft ze dus niet meer met een tekenprogramma te maken en deze afbeeldingen met ingewikkelde code aan te roepen. Om schaduw toe te voegen, gebruikt u box-shadow.

Er zijn minimaal drie en maximaal vier waarden die u kunt geven aan dit element. U kunt de horizontale waarde voor schaduw geven. Dit kan zowel een positieve als een negatieve waarde zijn, zodat de schaduw rechts of juist links te zien is. Ook moet de verticale waarde bepaald worden. Opnieuw kan deze waarde positief of negatief zijn om de schaduw boven of onder de afbeelding te tonen. Vervolgens dient u de mate van vervaging opgeven. Dit kan minimaal de waarde 0 hebben. Hoe hoger deze waarde, des te meer de schaduw vervaagd. Deze waarde kan ook weggelaten worden. Dan zal er geen vervaging optreden. En tot slot kunt u de kleur van de schaduw opgeven. Daaruit volgt dat de volgende code kan gebruikt worden om de zijbalk uit tip 5 een schaduw te geven:

box-shadow:10px 10px 20px #000; -webkit-box-shadow:10px 10px 20px #000; -moz-box-shadow: 10px 10px 20px #000;

-

Ook hier ziet u weer dat de schaduw drie keer bepaald moet worden, omdat niet alle browsers dezelfde code ondersteunen. Zoals u aan de afbeeldingen ziet, geeft Chrome de schaduw rondom afgeronde hoeken wat ‘rafelig’ weer. Dit probleem treedt niet op bij rechte hoeken. Safari geeft de schaduw rondom ronde hoeken wel prima weer.

Schaduw in Safari en Chrome.

Met het nieuwe “contenteditable=‘true’” is het mogelijk om bezoekers content te laten aanpassen. Dat kan handig zijn voor bijvoorbeeld Wikipedia-pagina’s, maar ook als u bezoekers formulieren wilt laten invullen, is het nuttig. Bovendien is het denkbaar dat u in de toekomst een weblog bijwerkt dankzij het contenteditable-element. De werking is als volgt:

<section id="editable" contenteditable="true">     <p>Deze tekst kunt u wijzigen</p> </section>

-

Als u deze code in een html-pagina plaatst, is de tekst aan te passen. Hebt u een gedeelte dat bezoekers niet mogen aanpassen, dan kunt u contenteditable="false" gebruiken. Door alleen contenteditable toe te voegen, zal de tekst die een bezoeker wijzigt, nog niet onthouden worden. Een volgende keer dat de bezoeker de site laadt, zal de oorspronkelijke tekst er weer staan. Door middel van JavaScript is dit te ondervangen. Het voert te ver om deze gehele code hier af te drukken, maar op html5demos.com/contenteditable kunt u deze code terugvinden.

Het opnemen van video’s is ook bijzonder eenvoudig in html5. Hieronder ziet u een voorbeeld van een regel om een video op een webpagina te plaatsen:

<video width=320 height=240 controls autoplay poster=poster.jpg> <source src='video.mp4'> </video>

-

U ziet: er is weinig verschil met het opnemen van audio in de site. Wel kunt u hier nog het posterattribuut toevoegen. Dit is een afbeelding die verschijnt als de video nog niet is gestart. Door autoplay toe te voegen, start de video automatisch. Het is de vraag of u dat wilt, want veel bezoekers klikken liever zelf op de startknop om de video te laten beginnen. Wel kunt u overwegen de code preload="auto" toe te voegen. Hiermee zal de video tijdens het laden van de pagina alvast laden. Indien u ‘autoplay’ hebt toegevoegd, wordt deze waarde genegeerd. Als u hier ‘none’ opneemt, gebeurt dat niet. Ook kunt u de tag preload de waarde ‘meta’ meegeven. Dan worden alleen de metadata alvast geladen. Door controls toe te voegen, komen de knoppen start, stop, pauze, et cetera tevoorschijn. Net als bij audio is het ook hier weer afhankelijk van de browser of een bepaald videofragment afgespeeld kan worden. In de volgende tabel staat welke browsers overweg kunnen met welke videocodecs:

Om te voorkomen dat bezoekers van uw site een video niet kunnen afspelen doordat hun browser de codec niet ondersteunt, kunt u meerdere sourcebestanden opnemen in uw code. De code wordt dan bijvoorbeeld:

<video> <source src='video.mp4'> <source src='video.m4v'> <source src='video.ogv'> </video>

-

Wanneer de browser het eerste bestand niet kan afspelen, zal automatisch het volgende worden geprobeerd. Eventueel kunt u als laatste fallbackoptie ook een code opnemen voor Flash-video.

De animatiefilm Big Buck Bunny in een html5-speler.

Het plaatsen van audio in een webpagina is bijzonder eenvoudig met html5 dankzij het <audio>-element. De huidige specificaties voor html5 bieden op dit moment de volgende attributen:

src − hiermee geeft u aan op welke locatie het audiobestand zich bevindt;
autoplay − dit bepaalt of de audio direct moet gaan spelen;
loop − dit bepaalt of de audio zich moet herhalen;
controls − hiermee bepaalt u of de browser de standaard mediaknoppen (start, stop, volume) moet tonen;
preload − hierbij hebt u de opties none, metadata en auto. Bij metadata zal alleen de metadata geladen worden, terwijl bij auto de browser beslist of het bestand wordt geladen.

Een eenvoudig voorbeeld van het gebruik van deze elementen is:

<audio src=’geluid.mp3’ controls preload=’auto’></audio>

-

Dit voorbeeld werkt in Safari, Chrome en Internet Explorer 9. De browsers Firefox en Opera ondersteunen helaas het mp3-bestandsformaat niet. Om mensen die deze browser gebruiken toch ook te voorzien van geluid, kan een regel worden toegevoegd. De volledige code wordt dan:

<audio controls preload=’auto’ autobuffer> <source src="geluid.mp3" /> <source src="geluid.wav" /> </audio>

-

Als de webbrowser het eerste bestand niet kan afspelen omdat er geen codec voorhanden is, zal de browser het tweede bestand proberen. Overigens is de veiligste keuze wav(?). Dit bestandstype wordt door Firefox, Safari, Chrome, Opera en Internet Explorer 9 ondersteund.

Wilt u er zeker van zijn dat iedereen de audio kan horen, dan kunt u na de tweede <source>-element nog een zogeheten fallback inbouwen naar een Flash-element. Die zal de video dan in Flash afspelen als de andere opties niet werken. Dit biedt bijvoorbeeld een oplossing voor Internet Explorer 8.

Wie bekend is met html, zal weinig moeite hebben om html5 te leren. Net als bij html moet een webpagina die html5 gebruikt, beginnen met het !doctype-element. In html5 is het zelfs een stuk eenvoudiger geworden. Voorheen moest een xhtml1.0-site beginnen met deze code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

-

Bij een html5-pagina kunt u volstaan met:

 <!DOCTYPE html>

-

 Daarna is er weinig verschil met een ‘gewone’ html-pagina:

<html>       <head>                 <title>Titel</title>      </head>      <body>      <header>                  <h1>Pagina titel</h1>       </header>       <nav>                  <!-- Navigatie -->       </nav>       <section>                  <!-- Hoofdcontent -->       </section>       <aside>                  <!-- Zijbalk -->       </aside>       <footer>                  <!-- Voettekst -->  </footer>  </body> </html>

-

U ziet dat het met enige html-kennis goed te begrijpen is. Toch vallen enkele nieuwe tags op, zoals <header>, <nav>, <section>, et cetera. Html5 streeft daarmee een nauwkeurige structuur van de pagina na.

▼ Volgende artikel
Waar voor je geld: 5 4K QLED-televisies onder de 500 euro
© Samsung
Huis

Waar voor je geld: 5 4K QLED-televisies onder de 500 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Vandaag hebben we vijf 4K QLED-tv's onder de 500 euro voor je gevonden. Ideaal voor wie wil genieten van haarscherpe beelden en realistische kleuren zonder zijn of haar budget te overschrijden.

Disclaimer

Op het moment van schrijven zijn de televisies bij de goedkoopste webwinkels niet duurder dan 500 euro. De prijzen kunnen schommelen.


Hisense 43A7NQ

De Hisense 43A7NQ biedt verrassend veel voor zijn formaat en prijs. Deze 43 inch QLED-tv levert levendige kleuren dankzij Quantum Dot Color en biedt ondersteuning voor maar liefst vier HDR-formaten, waaronder Dolby Vision IQ en HDR10+. De 4K AI-upscaler tilt oudere content naar een hoger kwaliteitsniveau, zodat ook SD- en HD-beelden scherp en helder ogen. Het geluid wordt verzorgd door twee speakers met Dolby Atmos, wat zorgt voor een ruimtelijk en indrukwekkend geluid. De tv draait op het overzichtelijke VIDAA-platform en ondersteunt handige functies zoals spraakbesturing, bluetooth-koppeling en Game Mode.

Beelddiagonaal: 43 inch (109 cm)
HDR-ondersteuning: Dolby Vision IQ, HDR10, HDR10+, HLG
Smart TV-platform: VIDAA
Bijzonderheden: Quantum Dot Color, AI-upscaling, Dolby Atmos, Game Mode

TCL 43P7K

De TCL 43P7K is een veelzijdige 43 inch QLED-tv met een hoge helderheid van 430 nits en ondersteuning voor alle gangbare HDR-formaten zoals HDR10+ en Dolby Vision. Hierdoor ogen beelden levendig en scherp, met mooie kleurgradaties. Deze televisie draait op Google TV, wat betekent dat je kunt rekenen op een slimme en overzichtelijke interface met ondersteuning voor spraakbediening via Google Assistent of Alexa. Ook stream je gemakkelijk content vanaf je smartphone met Apple AirPlay of ingebouwde Chromecast. De Game Master-modus en ALLM maken dit een goede keuze voor casual gamers.

Beelddiagonaal: 43 inch (109 cm)
HDR-ondersteuning: Dolby Vision, HDR10+, HDR10, HLG
Smart TV-platform: Google TV
Bijzonderheden: Google Assistent, Game Master, 430 nits helderheid, AirPlay

Samsung QE50Q60D

De Samsung QE50Q60D is een 50 inch televisie met QLED-schermtechnologie die garant staat voor levendige kleuren en een hoge helderheid. Dankzij Quantum HDR en 100% kleurvolume oogt elk beeld natuurgetrouw, met rijke details en krachtig contrast. De Dual LED-achtergrondverlichting verbetert bovendien de kijkhoek, waardoor iedereen in de kamer geniet van hetzelfde beeld. De tv draait op het gebruiksvriendelijke Tizen-platform, dat snelle toegang geeft tot je favoriete apps. Ook bijzonder is de ondersteuning voor cloud gaming – je hebt geen console nodig om meteen te spelen. Met het Air Slim Design is deze tv slechts 26 mm dun, en de in hoogte verstelbare voet biedt ruimte voor een soundbar. Je krijgt er bovendien een Solar One Remote bij waarmee je meerdere apparaten aanstuurt.

Beelddiagonaal: 50 inch (126 cm)
HDR-ondersteuning: HDR10, HDR10+
Smart TV-platform: Tizen
Bijzonderheden: verstelbare standaard, cloud gaming, Solar Remote, slechts 26 mm dik

Salora 43QLED320

Met de Salora 43QLED320 haal je een compacte 43 inch QLED-tv in huis die qua beeldkwaliteit verrassend goed presteert. De combinatie van HDR10, Dolby Vision en HLG zorgt voor diepe contrasten en heldere kleuren, ook bij donkere scènes. Dankzij het Android TV-platform heb je toegang tot talloze apps zoals Netflix, YouTube en Disney+. De ingebouwde Chromecast maakt streamen vanaf je telefoon of laptop bijzonder eenvoudig. Ook zijn er drie HDMI 2.1-poorten aanwezig, ideaal voor het aansluiten van een gameconsole. Het frameloze ontwerp geeft deze televisie een moderne uitstraling, terwijl bluetooth en wifi zorgen voor goede draadloze connectiviteit.

Beelddiagonaal: 43 inch (109 cm)
HDR-ondersteuning: Dolby Vision, HDR10, HLG
Smart TV-platform: Android TV
Bijzonderheden: ingebouwde Chromecast, HDMI 2.1, frameloos design

Hisense 55E7NQ PRO

De Hisense 55E7NQ PRO is een serieuze kandidaat voor wie zowel wil genieten van films als games. Met een indrukwekkende verversingssnelheid van 144 Hz en ondersteuning voor FreeSync Premium loopt alles vloeiend en zonder haperingen. Het 55 inch QLED-paneel toont heldere kleuren en diepe zwarttinten, terwijl de Dolby Vision IQ-technologie zich aanpast aan de lichtomstandigheden in je kamer. De Dolby Atmos-audio zorgt ervoor dat het geluid net zo meeslepend is als het beeld. Het VIDAA-platform biedt toegang tot alle bekende apps en reageert snel en intuïtief. Dankzij vier HDMI 2.1-poorten is aansluiten van je game-pc of console geen enkel probleem.

Beelddiagonaal: 55 inch (139 cm)
HDR-ondersteuning: Dolby Vision, Dolby Vision IQ, HRD10, HDR10+, HLG
Smart TV-platform: VIDAA
Bijzonderheden: 144 Hz, FreeSync Premium, IMAX Enhanced, 40 watt audio

▼ Volgende artikel
Van zelf ijs maken tot de hitte verdrijven uit huis: 5 verkoelende leestips
© ID.nl
Huis

Van zelf ijs maken tot de hitte verdrijven uit huis: 5 verkoelende leestips

🌡️ Man man man, wat is het heet. Sterker nog: bloedheet. Wij hebben daarom vijf artikelen voor je met ideeën om de hitte te slim af te zijn. Van simpele manieren om je slaapkamer koel te houden tot zelf ijs maken tot een plaknacht overleven: inspiratie voor iedereen die liever niet wegsmelt.

Een plaknacht overleven

Een slaapkamer waarin de hitte van de dag is blijven hangen: dat staat garant voor een nacht woelen en slecht slapen. Gelukkig kun je veel doen om het koeler te maken. Overdag de zon buitenhouden en licht beddengoed kiezen bijvoorbeeld. En 's avonds een lauwe douche nemen of ijsblokjes bij de ventilator zetten helpt ook. Wij hebben acht onmisbare tips voor je verzameld.
→ Lees verder: Zo houd je het hoofd (en de slaapkamer) koel

Hitte verdrijven uit huis

Zit je huis nog vol warmte als de buitentemperatuur alweer zakt? Dan is het tijd voor actie. In dit artikel lees je over ventilatie en isolatie airco's en zonwering, en over snelle tips die gegarandeerd graden schelen.
→ Lees verder: Tips om de warmte uit huis te krijgen na een hittegolf

Zelf ijs maken? met een ijsmachine ...

Roomijs maken in je eigen keuken? Dat kan met de hand, maar makkelijker met een ijsmachine. In dit overzicht zie je hoe de klassieke modellen met losse koelkom werken, wat een zelfvriezende machine voor je doet en waarom de Ninja Creami zo populair is. Je eigen ijs maken: leuk om te doen, maar al helemaal lekker om op te eten! 🍦
→ Lees verder: IJs maken met ijsmachines – zo werkt het

... en zonder ijsmachine

Ook zonder machines kun je prima zelf ijs maken. In dit artikel lees je hoe je waterijs of yoghurtijs maakt met wat je al in huis hebt. Meng wat fruit, sap of yoghurt, giet het in vormpjes of bekertjes en laat het bevriezen. Je kunt eindeloos variëren met smaken, en zelfs alcohol toevoegen. Maar dat is met deze tropische temperatuur misschien niet het beste idee...
→ Lees verder: Geen ijsmachine, toch zelf ijs maken

Getest: de Ninja Slushi

Met de Ninja Slushi maak je meer dan slushi alleen. Van granita's tot milkshakes, van slush met frisdrank tot frozen cocktails: dit apparaat kan het allemaal. Hoe dat bevalt in de praktijk, lees je in deze uitgebreide review.
→ Lees verder: Review Ninja Slushi – Voor ijskoude drankjes op warme dagen

Koud, kouder, koudst

Of je nou je huis wilt laten afkoelen, een plaknacht wilt overleven of gewoon zin hebt in een zelfgemaakt ijsje: met deze tips kom je de hitte wel door. Sterkte!

🥶 Kon je er maar in gaan zitten! 👇