Modul 4 · Kapitel 4.4
Media queries
Ändra CSS när ett villkor är uppfyllt.
Mål
Efter kapitlet ska du kunna...
- förklara vad en media query gör
- skriva mobile first-CSS med
min-width - välja brytpunkter efter innehållet
- testa layouten i utvecklarverktygen
Villkorad CSS
Vad gör en media query?
@media (min-width: 48rem) {
/* CSS som bara gäller från 48rem */
}Reglerna inuti blocket används bara när villkoret är sant.
Läs villkoret
min-width: 48rem
min-widthminst denna bredd
48rembrytpunktensant
reglerna aktiveras
Vid 47rem är villkoret falskt. Vid 48rem och bredare är det sant.
Interaktivt villkor
När blir media queryn aktiv?
@media (min-width: 48rem)Mobile first
Börja med den lilla layouten
.layout {
display: grid;
gap: 1rem;
}Grundreglerna ska fungera på liten skärm utan en media query.
Bygg vidare
Lägg till den större layouten
@media (min-width: 48rem) {
.layout {
grid-template-columns: 2fr 1fr;
}
}Från 48rem får layouten två kolumner.
Interaktiv Grid
En kolumn blir två
100vw är alltid hela viewportens bredd och är därför inte ett användbart värde på detta reglage.
Breakpoint
En punkt där layouten behöver ändras
- Före brytpunkten fungerar den lilla layouten.
- Efter brytpunkten används de nya reglerna.
Välj brytpunkt
Låt innehållet bestämma
- Gör fönstret långsamt smalare.
- Stanna när innehållet blir trångt eller går sönder.
- Lägg brytpunkten där layouten behöver en ny form.
Utgå inte från en viss telefonmodell.
Vanlig ändring
Flexbox: kolumn till rad
.actions {
display: flex;
flex-direction: column;
}
@media (min-width: 40rem) {
.actions { flex-direction: row; }
}Interaktiv Flexbox
Kolumn blir rad
Vanlig ändring
Mer luft på större ytor
.section { padding: 1rem; }
@media (min-width: 48rem) {
.section { padding: 3rem; }
}Öka avstånd när det finns plats, men behåll ett fungerande grundläge.
Interaktiv spacing
Padding ändras vid brytpunkten
Testa
Dra fönstret långsamt
- Finns horisontell scrollning?
- Överlappar elementen?
- Blir textraderna för långa?
- Spräcker bilder layouten?
- Går menyn fortfarande att använda?
Utvecklarverktyg
Simulera olika bredder
- Öppna utvecklarverktygen i Chrome.
- Aktivera enhetsverktygsfältet.
- Välj Responsive.
- Dra bredden stegvis – testa inte bara färdiga mobilmodeller.
Samlad laboration
Ändra layout och brytpunkt
Kontrollfråga
När ska en breakpoint läggas?
Vid bredden för en viss telefon?
Nej. Lägg den där innehållet behöver en annan layout.
Prova själv
Bygg en mobile first-layout
- Skapa huvudkolumn och sidokolumn.
- Låt grundläget vara en kolumn.
- Lägg till två kolumner med
min-width. - Ändra fönsterbredden långsamt och justera brytpunkten.
Sammanfattning
Kom ihåg
- Media queries kör CSS när ett villkor stämmer.
- Mobile first börjar med den lilla layouten.
min-widthlägger till regler från brytpunkten och uppåt.- Innehållets behov bestämmer brytpunkten.
- Testa alla bredder mellan smalt och brett.