Bilder mit Hilfe von CSS-Media Queries für das iPhone 4 Retina-Display optimieren

Das iPhone 4 hat ein spe­zi­elles Retina-Display. Auf diesem hoch­auf­lö­sendem Bildschirm können Bilder beson­ders scharf dar­ge­stellt werden. Um auch alle ver­wen­deten Bilder in einem Webdesign oder WordPress-Theme (z.B. das Logo oder ein Hintergrund-Musterbild) für das Retina-Display des iPhones zu opti­mieren, kannst du CSS Media Queries in deinem Stylesheet nutzen.

Und so funktioniert’s

Als erstes musst du von allen, in deinem Stylesheet ver­wen­deten Bildern, eine zweite, dop­pelt so große Version erstellen.

Hast du z.B. ein Logobild (logo.png) mit den Maßen 300 x 80 Pixel für die nor­male Smartphone-Version deiner Webseite ange­legt, musst du eine zweite Version deines Logos in der Größe 600 x 160px erstellen. Dieses Bild kannst du dann z.B. logo2x.png nennen.

iPhone 4 Retina Display Optimierung

Lade alle für das Retina-Display opti­mierten Bilder zu den anderen Bildnern deines Webdesigns (z.B. in den images-Ordner) hoch.

Jetzt kannst du die extra vor­be­rei­teten, ver­grö­ßerten Bilder mit Hilfe von CSS Media Queries unter­halb deiner Standard-Styles aufrufen:

@media only screen and (-webkit-min-device-pixel-ratio: 2) {

}

Um z.B. ein Retina-Display opti­miertes Logo logo.png mit den Maßen 600 x 160 Pixel (als h1 mit der Klasse .logo) ein­zu­binden, benö­tigst du fol­gende CSS-Werte inner­halb der geschwun­genen Klammern der Media Queries:

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
h1.logo a {
background-image: url(images/logo2x.png);
-webkit-background-size: 300px 80px;
}

Indem du die Breite und Höhe der CSS-Klasse mit der »-webkit-background-size« in der eigent­lich benö­tigten, ori­gi­nalen Größe angibst, wird das Retina-Display Logo wieder auf 50 Prozent der Größe redu­ziert. Mit diesem Trick erhältst du auch auf dem iPhone 4 eine gesto­chen scharfe Ansicht aller Bilder deines Webdesigns.

Ich hoffe dieser Tipp ist hilf­reich für dich. Wenn du Fragen, Ergänzungs- oder Optimierungsvorschläge zu diesem Beitrag hast, schreibe mir doch ein­fach einen Kommentar. Ich freue mich schon auf dein Feedback.

12 Kommentare

  1. Sven

    vorher stand da aber weight: 300px und height: 80px; - da wollte ich noch kom­men­tieren, dass dass über background-size zu machen ist, aber jetzt ist es ja richtig…

    • Ellen

      Ja, hatte den Artikel noch einmal kor­ri­giert, jetzt funktioniert’s und das Elmastudio-Logo ist inzwi­schen übri­gens auch für das Retina-Dislpay optimiert :)

  2. Sven Finger

    Hey Ellen, schöner Artikel und ein­fach erklärt. Hast du Erfahrungen mit solch opti­mierten Bildern für Android-Smartphones mit Displays die eine ähnliche, hohe Pixeldichte besitzen gemacht? Funktioniert das dort genau so oder muss man dabei etwas anderes beachten?

    • Ellen

      Die Anleitung im Artikel gilt meines Wissens nur für das iPhone 4. Es gibt aber auch Möglichkeiten, über »device-pixel-ratio« wei­tere Optimierungen auch für Android-Phones vor­zu­nehmen. Ich werde das Thema auf jeden Fall noch weiter ergänzen.

  3. Vincent

    Vielen Dank für den kurz aber gut erklärten Artikel! Praktisch, beson­ders wenn man ein Perfektionist ist :-)… werde das für mein nächstes CSS3 »Responsive« Theme umsetzten :-)

    Grüße
    Vincent

  4. Jan

    Pefektes Timing, genau nach so etwas habe ich eben gerade gesucht :)
    Gleich mal testen, ob es den Effekt hat, den ich mir erhofft habe.

  5. Fischfix

    Hallo,

    klingt ja erst mal super, aber woher weiß ich jetzt ob ich auf einem iPhone 3 mit iOS 3, einem iPhone 3 mit iOS4 oder auf einem iPhone 4??? anhand des UserAgents lässt sich das jeden­falls nicht bestimmen…

  6. Sven Wolfermann

    @Fischfix das kann der Browser aus dem Device lesen, das wird nicht aus dem UserAgentString gelesen und hat nix mit dem OS zu tun. Das gilt für alle hoch­auf­lö­senden Displays und könnte auch zum Testen auf @media only screen and (-webkit-min-device-pixel-ratio: 1.5) {} her­ab­ge­setzt werden.

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.

*


Top