Tips voor mobiele weergave
Bij de meeste onder jullie zal de webpagina op de volgende manier beginnen: Zorg ervoor dat het op de volgende manier begint: De viewport-regel zal ervoor zorgen dat de mobiele stijl (uit het bestand cssbib.css) correct wordt weergegeven. De "charset"-regel zorgt ervoor dat ook vreemde tekens (accenten en andere woordtekens), maar ook symbolen uit andere talen correct worden weergegeven. Een onderdeel van CSS dat we tijdens de lessen niet hebben besproken, maar wel interessante mogelijkheden biedt, zijn MEDIA QUERIES. Opgelet: zonder het te beseffen gebruik je het al. Dankzij MEDIA QUERIES staan kolommen in een mobiele browser onder elkaar. Maar wat als je nu graag bepaalde onderdelen enkel op een smartphone wil tonen, en andere elementen enkel op desktop? Het zou bijvoorbeeld kunnen zijn dat een titel een stuk te lang is in een mobiele browser. Dankzij MEDIA QUERIES kan je aan "voorwaardelijke opmaak" doen. D.w.z. ALS de mobiel is, DAN pas je bepaalde stijlkenmerken aan. Stel dat je een afbeelding op een computerscherm 50% breed wil maken, dan schrijf je in CSS de volgende regels: Dankzij media queries is het nu mogelijk om die afbeeldingen in mobiele weergave 100% breed te maken. Je kan in CSS andere opmaak invoeren als het scherm bijvoorbeeld een lager aantal pixels in de breedte telt, zoals dit bij mobiele browsers doorgaans het geval is. Voeg onderaan in je CSS-bestand nu de volgende regels toe (opgelet: de volgorde is belangrijk. De laatst opgenomen regel in je CSS-bestand overschrijft de voorgaande). Stel dat je titels net iets te groot zijn op mobiel. <h1>Deze titel is net iets te lang voor mobiele toestellen</h1> Problemen met mobiel?
<html>
<head>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8"> CSS voor mobiel en/of desktop
Hoe los je dit op?
Een voorbeeld: de breedte van afbeeldingen
img{
width:50%;
}
@media (max-width:600px){
/*hier komen je stijlregels voor mobiel */
}
Je kan nu heel eenvoudig de voorgaande regels i.v.m. afbeeldingen "overschrijven".@media (max-width:600px){
img{
width:100%;
}
}
Wat gebeurt hier praktisch? Standaard toont de browser alle afbeeldingen op 50% breedte. Als het browserscherm minder dan 600 pixels telt in de breedte, worden de afbeeldingen 100% breed weergegeven. De trukken van de foor
Een voorbeeld: elementen verbergen op desktop en/of mobiel
<h1 class="verberg-op-mobiel">Deze titel is net iets te lang voor mobiele toestellen</h1>
<img src="images/logodesktop.png" class="verberg-op-mobiel"/>
<h1 class="toon-op-mobiel">Mobiele titel</h1>
<img src="images/logomobiel.png" class="toon-op-mobiel"/>
Uiteraard moeten we nu nog wat werk doen in CSS. .toon-op-mobiel{
display:none;
}
@media (max-width:600px){
.verberg-op-mobiel{
display:none;
}
.toon-op-mobiel{
display:block;
}
}
Opgelet: het is maar een "snel" voorbeeld. In de praktijk zal je nog hier en daar wat uitzonderingen moeten toevoegen, want een <span>-element bijvoorbeeld moet je niet als een "block" tonen. In dat geval zou je nog kunnen toevoegen:@media (max-width:600px){
/*zie de regels hier boven*/
span.toon-op-mobiel{
display:inline-block;
}
}