What is meta> viewport element?

Optimer iPhone & iPad Visning med Viewport

01/12/2023

Rating: 4.79 (15517 votes)

I en verden, hvor mobile enheder dominerer internettrafikken, er det altafgørende, at din hjemmeside præsenteres fejlfrit på alle skærmstørrelser. Specielt for iPhone- og iPad-brugere kan oplevelsen variere markant, afhængigt af hvordan din side er optimeret. Sidste uge dykkede vi ned i, hvordan du kan teste din hjemmeside på Safari for iPhone og iPad. Denne uge tager vi skridtet videre og udforsker et af de mest fundamentale værktøjer til mobiloptimering: viewport meta-tagget. Dette tag er hjørnestenen i at sikre, at din hjemmeside ikke blot ser godt ud, men også fungerer intuitivt, uanset om enheden holdes i portræt- eller landskabsformat. Vi vil guide dig gennem brugen af meta-tags, JavaScript og CSS for at opnå den perfekte visning på Apples populære mobile enheder.

What is viewport on iPhone & iPad?
viewport — When you visit most web pages on an iPhone or iPad, you can pan around the page and zoom by using pinch and stretch finger gestures to shrink or enlarge the page and its contents. This feature helps make websites that were designed for desktop computer screens possible to read on the smaller screen on an iPhone.
Indholdsfortegnelse

Hvad er Viewport Meta-tagget?

Viewport meta-tagget er en afgørende HTML-komponent, der fortæller mobile browsere, specifikt Safari på iOS, hvordan de skal gengive din webside. Uden det vil din hjemmeside sandsynligvis blive vist i en standard desktop-bredde (ofte 980 pixels), hvilket tvinger brugere til at zoome ind og panorere rundt for at læse indholdet. Dette skaber en frustrerende brugeroplevelse. Ved at implementere viewport meta-tagget får du kontrol over, hvordan siden skaleres og vises på tværs af forskellige skærmstørrelser og -orienteringer på iPhone og iPad. Det handler om at give brugeren en flydende og responsiv oplevelse, der matcher enhedens specifikke dimensioner.

Viewport Egenskaber og Deres Betydning

Viewport meta-tagget understøtter en række egenskaber, der giver dig finjusteret kontrol over din hjemmesides præsentation. Disse egenskaber defineres inden for content-attributten og adskilles af kommaer. At forstå hver enkelt er nøglen til en vellykket mobiloptimering.

De vigtigste egenskaber inkluderer:

  • width: Definerer viewportets bredde. Standard er 980 pixels. Det anbefales ofte at bruge device-width for at matche enhedens faktiske bredde.
  • height: Definerer viewportets højde. Standard er baseret på billedformatet.
  • initial-scale: Angiver den indledende zoomniveau, når siden indlæses. En værdi på 1.0 betyder ingen zoom.
  • user-scalable: Bestemmer, om brugeren kan zoome ind eller ud på siden. Sæt til no for at deaktivere zoom.
  • minimum-scale: Den mindste tilladte zoomniveau.
  • maximum-scale: Den største tilladte zoomniveau.

Her er en oversigt over de vigtigste egenskaber for viewport meta-tagget:

EgenskabStandardværdiMinimumværdiMaksimumværdi
width98020010000
heightBaseret på billedformat22310000
initial-scaleTilpasses skærmen>010
user-scalableyesnoyes
minimum-scale0.25>010
maximum-scale1.6>010

Det er vigtigt at bemærke, at initial-scale er det niveau, siden gengives på ved første indlæsning. Brugeren kan ændre skaleringen ved at knibe og dobbeltklikke, medmindre du begrænser det med user-scalable.

Optimering af Din Hjemmeside med Viewport Meta-tagget

Den mest fundamentale optimering er at sætte bredden af viewportet til at matche enhedens bredde. Dette sikrer, at din hjemmeside automatisk tilpasser sig skærmen, hvilket er essentielt for en responsiv oplevelse. I stedet for en fast bredde bør du bruge width=device-width. Dette fortæller browseren, at den skal indstille viewportets bredde til enhedens faktiske bredde i CSS-pixels.

Eksempel på grundlæggende viewport-indstilling:

<meta name="viewport" content="width=device-width">

For at forhindre brugere i at zoome ind og ud – hvilket kan være ønskeligt for fuldt responsive eller webapplikationslignende sider – kan du sætte maximum-scale til 1.0 og user-scalable til no. Vær forsigtig med denne tilgang, da den fjerner brugerens mulighed for at forstørre indhold, hvilket kan være en barriere for brugere med synshandicap eller på meget små skærme. Hvis din side ikke er perfekt optimeret til små skærme, anbefales det at lade zoomfunktionen være aktiv.

What is a viewport meta tag?
The viewport meta tag is used by Safari on the iPhone and iPad to determine how to display a web page. Properties of the viewport meta tag include width, height, initial-scale, user-scalable, minimum-scale and maximum-scale. Here is a table which shows the minimum and maximum values for those properties:

Eksempel for at deaktivere zoom:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

Hvis du kun angiver en delmængde af egenskaberne, vil Safari på iOS ofte udlede de resterende værdier for at forsøge at passe websiden ind i det synlige område. For eksempel, hvis du kun sætter initial-scale til 1.0, vil Safari antage, at bredden er device-width i portræt og device-height i landskab. Derfor, hvis du ønsker en specifik bredde (f.eks. 980 pixels) og en initial skalering på 1.0, skal du angive begge.

Håndtering af Skærmorientering

Udover meta-tags, som er den foretrukne metode, kan du også bruge JavaScript og CSS til at detektere og tilpasse indholdet baseret på enhedens orientering. Dette giver dig yderligere fleksibilitet i designet.

JavaScript til Orientering

Mens meta-tags er fremragende til den indledende visning, kan JavaScript bruges til dynamisk at reagere på orienteringsændringer. Ved at overvåge vinduets indre bredde kan du bestemme, om enheden er i portræt- eller landskabsformat og justere layoutet derefter.

Eksempel på JavaScript for orienteringsdetektion (placeres i <head>):

<script type="text/javascript"> var currentWidth = window.innerWidth; var updateLayout = function() { if (window.innerWidth != currentWidth) { currentWidth = window.innerWidth; var orient = (currentWidth == 320) ? "profile": "landscape"; document.body.setAttribute("orient", orient); window.scrollTo(0, 1); } }; // Antager en eksisterende funktion iPhone.DomLoad eller lignende // iPhone.DomLoad(updateLayout); setInterval(updateLayout, 400); // Tjekker hver 0.4 sekund </script>

Denne kode opdaterer layoutet og tilføjer en orient-attribut til body-elementet, som du derefter kan style med CSS. Bemærk, at window.innerWidth kan give den aktuelle bredde, og du kan tilpasse logikken baseret på forventede enhedsbredder (f.eks. 320px for portræt på ældre iPhones).

CSS Media Queries til Orientering

Den mest elegante og moderne måde at håndtere orientering på er ved hjælp af CSS Media Queries. Du kan oprette separate stylesheets for portræt- og landskabsformat, hvilket giver dig komplet kontrol over designet i hver tilstand. Dette holder din præsentationslogik adskilt fra din HTML.

Eksempel på CSS Media Queries (placeres i <head>):

<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">

Her vil portrait.css kun blive anvendt, når enheden er i portrættilstand, og landscape.css når den er i landskabstilstand. Dette er en utrolig kraftfuld teknik til at skabe en tilpasset brugeroplevelse.

How do I configure a viewport on iOS?
Configuring the viewport is easy—just add one line of HTML to your webpage—but understanding how viewport properties affect the presentation of your webpages on iOS is more complex. Before configuring the viewport, you need a deeper understanding of what the visible area and viewport are on iOS.

Forskellen mellem Viewport på Desktop og iOS

Det er vigtigt at forstå, at viewport-konceptet adskiller sig markant mellem traditionelle desktop-browsere og Safari på iOS. På en desktop er viewportet simpelthen det synlige område af websiden, som brugeren kan ændre størrelse på ved at trække i browservinduet. Hvis siden er større end viewportet, vises rullepaneler, og brugeren scroller for at se mere.

På iOS er situationen mere nuanceret. Safari på iOS har ingen vinduer, rullepaneler eller knapper til at ændre størrelse. Brugeren panorerer ved at stryge en finger, og zoomer ind/ud ved at knibe (pinch-open/pinch-close) eller dobbeltklikke. Viewportet på iOS er det område, der bestemmer, hvordan indholdet placeres, og hvor tekst ombrydes. Dette viewport kan være større eller mindre end det synlige område. Når en bruger panorerer, kan grå bjælker vises for at indikere viewportets størrelse i forhold til det synlige område.

Den største forskel ligger i, hvordan Safari på iOS tilpasser viewportet. Standardbredden er ofte 980 pixels, hvilket er designet til at vise de fleste desktop-sider uden for meget indledende zoom. Men hvis din side er smallere end dette, kan den virke for smal. Ved at konfigurere viewportet kan du overskrive disse standardindstillinger og sikre, at din side præsenteres optimalt fra start. Safari på iOS kan også udlede værdier for width, height og initial-scale, hvis du kun angiver nogle af dem, med det formål at få websiden til at passe ind i det synlige område ved fuld udzoomning. Dette kan medføre, at viewportet ændrer størrelse, når brugeren skifter orientering, hvilket er den eneste situation, hvor en brugerhandling direkte ændrer layoutet på iOS.

Vigtige Overvejelser for Webapplikationer

Hvis du designer en webapplikation specifikt til iOS, er den anbefalede størrelse for dine websider den samme som det synlige område på iOS. Apple anbefaler kraftigt, at du sætter bredden til device-width. Dette sikrer, at den indledende skalering er 1.0 i portrætformat, og at viewportet ikke ændrer størrelse, når brugeren skifter til landskabsformat. Uden denne indstilling vil din webapp sandsynligvis blive vist i øverste venstre hjørne, hvilket tvinger brugeren til at zoome ind, før applikationen kan bruges korrekt.

Eksempel for webapplikationer (med deaktiveret skalering):

<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0">

Denne indstilling sikrer en fuldskærmsoplevelse, der føles som en indbygget applikation. Ved at deaktivere brugerskalering garanterer du, at din præcist designede grænseflade altid vises, som du har tiltænkt.

Should I Use Device-Width/device-height?
Furthermore, it's not good practice to use device-width/device-height; the width of the device screen is usually not important, but the number of CSS pixels inside the viewport of the browser (which may be two different things). Lastly, the media query for DPR is not correct.

Ofte Stillede Spørgsmål (FAQ)

Hvad er formålet med viewport meta-tagget?

Formålet med viewport meta-tagget er at give webudviklere kontrol over, hvordan en webside skaleres og vises på mobile enheder, især iPhone og iPad. Det sikrer en optimal og responsiv brugeroplevelse ved at tilpasse sidens bredde og skalering til enhedens skærm.

Hvilke egenskaber er vigtigst at kende?

De mest essentielle egenskaber er width (især device-width), initial-scale, og user-scalable. Disse tre giver dig den primære kontrol over sidens indledende udseende og brugerens interaktionsmuligheder med skalering.

Hvordan forhindrer jeg brugere i at zoome?

Du kan forhindre brugere i at zoome ved at sætte user-scalable=no og maximum-scale=1.0 i dit viewport meta-tag. For eksempel: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">. Husk dog, at dette kan påvirke brugervenligheden negativt for nogle brugere.

Hvor skal jeg placere viewport meta-tagget?

Viewport meta-tagget skal placeres inden for <head>-sektionen af dit HTML-dokument. Det er vigtigt, at det er en af de første tags i <head> for at sikre, at browseren anvender indstillingerne korrekt fra start.

Hvad betyder "device-width"?

device-width er en speciel værdi for width-egenskaben, der fortæller browseren, at viewportets bredde skal sættes til den faktiske bredde af enhedens skærm i CSS-pixels. Dette er afgørende for at skabe et responsivt design, der tilpasser sig dynamisk til forskellige skærmstørrelser.

At mestre viewport meta-tagget er en fundamental færdighed for enhver, der ønsker at skabe moderne, mobilvenlige hjemmesider og webapplikationer. Ved at udnytte dets egenskaber i kombination med JavaScript og CSS Media Queries kan du sikre, at dit indhold altid præsenteres optimalt på iPhone og iPad, uanset orientering eller skærmstørrelse. Dette forbedrer ikke kun brugeroplevelsen markant, men bidrager også til bedre søgemaskineplaceringer, da mobilvenlighed er en vigtig rangeringsfaktor. Fortsæt med at udforske disse teknikker, og din mobile tilstedeværelse vil blomstre!

Hvis du vil læse andre artikler, der ligner Optimer iPhone & iPad Visning med Viewport, kan du besøge kategorien Teknologi.

Go up