Retina Display - Mit CSS Background-Image und Image-Set zu scharfen Bildern

psd zu html | codingpeople - webdesign trifft html

Retina Display - Mit CSS Background-Image und Image-Set zu scharfen BildernEin High Resolution Display oder besser bekannt als Retina Display, besitzt eine wesentlich höhere Pixeldichte als herkömmliche Displays und ist somit in der Lage Schriften, Icons und Bildern wesentlich hochauflösender mit wesentlich mehr Details darstellen zu können. Schön wenn man sich diese Entwicklung auch für die Umsetzung von Webseiten zu Nutze machen könnte. Nicht das man es nicht kann, denn hierfür gibt es bereits zahlreiche Ansätze. So kann man mittels einer kleinen JavaScript-Abfrage, ob Retina-Display oder nicht, dem Endgerät bspw. entsprechend unterschiedliche Bilder zuweisen lassen. Nachteil, man benötigt JavaScript. Im Frühjahr diesen Jahres gab es in den Webkit Nightly-Builds erste Ansätze für eine reine CSS-Unterstützung. Mittlerweile ist diese Umsetzung so weit vorangeschritten, dass Anwender mit Safari 6 oder Chrome 21 auf iOS 6 in der Lage sind, über Background Image-Set eine entsprechende Zuweisung ausschließlich mittels CSS vornehmen zu können.

Background-Image & Image-Set - Die Syntax

Die CSS Syntax für eine 600 Pixel breite und 100 Pixel hohe Hintergrundgrafik eines Websiteheaders könnte mit den eingangs beschriebenen CSS Eigenschaften wie folgt aussehen:

Background Image-Set
.header {
   background-image: url(img/image-set-fallback.png);
   background-image: -webkit-image-set(
                              url(img/image-set-default.png) 1x,
                              url(img/image-set-retina.png) 2x);
   width:600px;
   height:100px;
}

Als erstes wurde die Eigenschaft Background-Image ohne image-set definiert und wird somit von allen Browsern angezeigt, die dieses Attribut nicht verstehen und umsetzen können (siehe Zeile 2). In der nächsten Zeile wird image-set der Bild-Ressource vorangestellt (siehe Zeile 3). Alle Browser diese Eigenschaft verstehen und umsetzen können, zeigen die weniger hochauflösende Hintergrundgrafik "image-set-default.png" (siehe Zeile 4). Ist ein Browser, wie in diesem Fall Safari ab Version 6 und Google Chrome ab Version 21, dazu in der Lage die zweite Hintergrundgrafik dieses Image-Sets "image-set-retina.png" anzuzeigen, kommt der Anwender in den Genuss einer hochauflösenden Hintergrundgrafik - optimal für Retina-Displays (siehe Zeile 5).

Perfekt wäre Retina- & Bandbreitenabfrage (auf Basis von CSS)

In Kombination mit der Idee Webinhalte wie Bilder mittels Media Queries entsprechend der Bandbreite zuzuweisen, könnte man dann nicht nur die "Bedingung Retina", sondern auch noch die "Bedingung Retina und Bandbreite" abfragen. So könnte man dann dem Problem aus dem Weg gehen, dass ein Endgerät mit Retina-Display ein hochauflösendes Bild zugewiesen bekommt, obwohl die Übertragungsrate in Form einer geringer Bandbreite ein schlechtes Ladeverhalten aufweisen wird und der Benutzerspaß trotz Retina-Display, viel zu kurz kommt weil der Anwender (zu) lange warten muss.

Natürlich kann man auch über den Sinn und Zweck der Eigenschaften von Background-Image & Image-Set diskutieren, aber Fakt ist nun einmal ...

Natürlich kann man auch über den Sinn und Zweck der Eigenschaften von Background-Image & Image-Set diskutieren, aber Fakt ist nun einmal das Browserhersteller ein solches für sie nicht ganz uninteressantes Verhalten, mit einem Browser-Präfix wesentlich schneller implementieren können, als das W3C oder die WHAT WG mögliche alternative "responsive Attribute" für die Implementierung in dem Image-Tags. Bis es soweit ist, muss man entweder Mehraufwand für die Umsetzung mit JavaScript (bspw. mit RetinaJS) in Kauf nehmen oder auch eine zu lange Ladezeit von hochauflösenden Bildern verantworten. Gerade weile eine schlechte Performance in Bezug auf Webseiteninhalte einer der Konversionskiller schlechthin ist und somit signifikante negative Änderungen bei Umsätzen entstehen können, sollte dieser Schritt nicht nur einfach den Möglichkeiten der Browser geschuldet sein, sondern auch aufgrund möglicher wirtschaftlicher Auswirkungen.

Eure Meinung zu diesem Ansatz, Anwendern hochauflösende Bilder zuzuweisen?

Wie steht ihr zu diesen Entwicklungen in Bezug auf die Verwendung der Eigenschaften Background-Image und dem Attribut Image-Set? Auch wenn diese Thematik noch keinen endgültigen und flexibel einsetzbaren Vorschlag parat hat, kann jeder von Euch den dieses Thema in welcher Form auch immer interessieren sollte, seine Meinung diesbezüglich hier kundtun. Denn bei entsprechendem Interesse könnte das Thema inhaltlich in eine neue Auflage meines Buches zu gegebener Zeit mit einfließen.

Weitere Artikel zum Thema CSS3

Modernes Webdesign mit CSS - Das neue CSS3 Buch!

  1. Simone 20 Aug 2012, 13:06

    Über interessante Anregungen und Tipps kann man sich hier nicht beschweren ;o) Den hier vorgestellten Ansatz mit Image-Set hatte ich letzte Woche im übrigen mal getestet und es hat wunderbar funktioniert!


  2. Marius 20 Aug 2012, 15:04

    Retina- & Bandbreitenabfrage wäre wirklich ein wünschenswertes Feature und so wie es aussieht, sind wohl eher die Browser-Hersteller die treibende Kraft als das W3C.


  3. Gelisa 20 Aug 2012, 17:05

    Sehr interessanter ansatz, das teste ich Morgen mal an einer meiner Webseiten, mal sehen, wie es auf meinem Display aussieht.


  4. Mr.Click 26 Aug 2012, 15:33

    Man sieht wirklich einen deutlichen Unterschied zwischen den beiden Graphiken, aber ich würde halot immer den Aufwand mit dem Nutzen gegenrechnen. Bei einer stilvollen Community Seite mag das vielleicht nötig sein um ansprechend zu sein. Bei manchen Tool-orientierten Seiten würde ich nicht auf das Retina Feature zurückgreifen. Ich bin da durchaus ein bischen bequem...


  5. Weissnix 29 Aug 2012, 16:12

    NIcht zu vergessen das man damit keine Content-Bilder hinterlegt. Zusätzlich müssen die Geräte, welche es können beide Bildvarianten runterladen. Was machen wir wenn ein weiteres Gerät mit einer anderen Auflösung erscheint...


  6. Siena 30 Aug 2012, 13:41

    Das ist definitiv ein interessanter Beitrag.. Bei einer Seite die von hochwertigen Bildern und Grafiken lebt ist das durchaus zu überlegen, ob man das vornimmt. Bei einfachen Seiten wahrscheinlich weniger sinnvoll. Aber auf jeden Fall interessant, dass es so etwas gibt und die Möglichkeiten dazu hat. Ausprobieren und vielleicht nach Erfahrungen fragen, kann auf jeden Fall sinnvoll sein denke ich..


  7. Daniel 31 Aug 2012, 11:17

    Danke für die Info. Werde mich da wohl auch mal am Wochenende dransetzen.

    Gruß Daniel


  8. Frederik 05 Sep 2012, 13:34

    Definitiv eine gute Idee und saubere Lösung. Allerdings warte ich lieber noch, bis die Statistiken meiner Seiten zumindest 20% Retina-Display-fähige Besucher anzeigen. Sonst bringt der Aufwand doch nix.


  9. Polichronis
    16 Sep 2012, 19:28

    Kein schlechter Ansatz und für die Zukunft muss man zwangsläufig up to date sein und auch bleiben, denn hochleistungsfähige Displays werden bald ein Standard sein. Den Artikel werde ich mal an unseren Designer weiterleiten.


  10. Alexander Hu 07 Okt 2012, 15:25

    Die Idee ist gut und bestimmt auch die Umsetzung (kann ich zur Zeit leider nicht testen, demnächst aber). In meinen Augen macht es auf jedenfall für die Webseiten Sinn, die auch täglich via Handy besucht werden. Für den Rest würde ich mir "die Mühe" nicht machen.


  11. Hans 13 Okt 2012, 18:16

    Wow, das macht ja echt was aus. Retina ist doch deutlich schärfer, denke aber das wird noch einwenig dauern bis es genug verbreitet ist.


  12. Steven
    23 Okt 2012, 17:27

    Danke für die deutliche information! Es ist nur shade das man fast für alles etwas einstellen mus.


  13. Der Webdesigner 07 Mär 2013, 07:13

    Ja das ist ein zweischneidiges Schwert. Hochauflösende Bilder benötigen längere Ladezeit und das bei Smartphones... Wir machen zurzeit noch alles ohne höhere Auflösung für Retina-Geräte, aber in der Zukunft, wird man da nicht mehr rumkommen.


  14. Der Webdesigner 07 Mär 2013, 07:15

    Ja das ist ein zweischneidiges Schwert. Hochauflösende Bilder benötigen längere Ladezeit und das bei Smartphones... Wir machen zurzeit noch alles ohne höhere Auflösung für Retina-Geräte, aber in der Zukunft, wird man da nicht mehr rumkommen.


Artikel kommentieren





HTML ist erlaubt und ausdrücklich erwünscht, wobei folgende Tags eingesetzt werden können: <a href="" title=""></a> <b></b> <cite></cite> <code></code> <em></em> <strong></strong>


authimage