Responsive webdesign er en tilgang til at opbygge websider, hvor disse sider dynamisk kan ændre deres layout og udseende baseret på en besøgendes skærmstørrelse. Store skærme kan modtage et layout, der passer til de større skærme, mens mindre enheder, som mobiltelefoner, kan modtage den samme hjemmeside formateret på en måde, der passer til den mindre skærm. Denne tilgang giver en bedre brugeroplevelse for alle brugere, og det kan endda hjælpe med at forbedre søgemaskinens placeringer. En vigtig del af lydhør webdesign er CSS Media Queries.
Medieforespørgsler er som små betingede erklæringer inde i din websteds CSS-fil, så du kan indstille visse CSS-regler, der kun træder i kraft, når en bestemt betingelse er opfyldt - som når en skærmstørrelse er over eller under bestemte tærskler.
Medieforespørgsler i aktion
Så hvordan bruger du Media Queries på et websted? Her er et meget simpelt eksempel:
- Du ville starte med et velstruktureret HTML-dokument uden nogen visuelle stilarter (det er hvad CSS er til)
- I din CSS-fil starter du som du normalt gør ved at stylere siden og angive en basislinje for, hvordan hjemmesiden vil se ud. Sig, du ønskede skrifttypens størrelse på 16 pixels, du kunne skrive dette CSS:
krop {font-size: 16px; }
- Nu vil du måske øge denne skrifttype for større skærme, der har rigelig fast ejendom til at gøre det. Det er her, hvor medieforespørgsler springer ind. Du ville starte en medieforespørgsel som denne:
@media skærm og (min bredde: 1000px) {}
- Dette er syntaksen af en medieforespørgsel. Det begynder med @media at etablere Media Query selv. Dernæst indstiller du "medietype", som i dette tilfælde er "skærm". Dette gælder for computerskærme, tabletter, telefoner osv. Endelig slutter du mediesøgningen med "mediefunktionen". I vores eksempel ovenfor er det "midtbredde: 1000px". Det betyder, at medieforespørgslen vil sparke ind for skærme med en bredde på mindst 1000 pixels bred.
- Efter disse elementer i medieforespørgslen tilføjer du en åbning og lukning af krøllet bøjle, der ligner det, du ville gøre i enhver normal CSS-regel.
- Det endelige trin til en medieforespørgsel er at tilføje de CSS-regler, du vil anvende, når denne betingelse er opfyldt. Du tilføjer disse CSS-regler mellem de krøllebøjler, der udgør Media Query, som denne:
@media skærm og (min bredde: 1000px) {body {font-size: 20px; }
- Når betingelserne for medieforespørgslen er opfyldt (browservinduet er mindst 1000 pixel bredt), vil denne CSS-stil træde i kraft, og ændre vores skrifts skriftstørrelse fra de 16 pixel, vi oprindeligt oprindeligt oprettede til vores nye værdi på 20 pixel.
Tilføjelse af flere stilarter
Du kan placere så mange CSS-regler inden for denne medieforespørgsel efter behov for at justere dit websites visuelle udseende. Hvis du f.eks. Ikke kun vil øge skrifttypestørrelsen til 20 pixels, men også ændre farven på alle afsnit til sort (# 000000), kan du tilføje følgende:
@media skærm og (min bredde: 1000px) {body {font-size: 20px; } p {farve: # 000000; }}
Tilføjelse af flere medieforespørgsler
Derudover kan du tilføje flere medieforespørgsler til hver større størrelse og føje dem til dit stilark som denne:
@media skærm og (min bredde: 1000px) {body {font-size: 20px; } p {farve: # 000000; {} @media skærm og (min bredde: 1400px) {body {font-size: 24px; }}
De første medieforespørgsler ville sparke ind på 1000 pixel bredt, ændre skrifttypestørrelsen til 20 pixel. Så, da browseren var over 1400 pixel, ændrede skrifttypestørrelsen igen til 24 pixel. Du kan tilføje så mange medieforespørgsler som nødvendigt til din særlige hjemmeside.
Min. Bredde og Maks. Bredde
Der er generelt to måder at skrive medieforespørgsler på - ved at bruge "min bredde" eller med "maks bredde". Hidtil har vi set "min bredde" i aktion. Dette medfører, at medieforespørgsler træder i kraft, når en browser har nået mindst den mindste bredde. Så en forespørgsel, der anvender "min bredde: 1000px", gælder, når browseren er mindst 1000 pixels bred. Denne stil med Media Query bruges, når du bygger et websted på en "mobile først" måde.
Hvis du bruger "maksimal bredde", virker det på den modsatte måde. En medieforespørgsel på "maksimal bredde: 1000px" ville finde anvendelse, når browseren er faldet under denne størrelse.
Hvad angår gamle browsere
En udfordring med Media Queries er deres manglende støtte i ældre versioner af Internet Explorer. Heldigvis er der tilgængelige polyfilier, der kan patch support til Media Queries i de ældre browsere, så du kan bruge dem på hjemmesider i dag, samtidig med at du stadig sikrer, at visningen af dette websted ikke ser ødelagt i ældre browsersoftware.
Redigeret af Jeremy Girard den 1/24/17
7




