In einem anderen Thema habe ich mit Markus über eine optimierte Nutzung des picture-Tags zur Darstellung der Produktbilder diskutiert. Wir kamen zu dem Schluss, dass ich für den Dev. Shop ein Beispiel poste.
Die Vorgeschichte: Der pictue-Tag ermöglicht es dem Browser auszusuchen, welches Bild auf dem Bildschirm angezeigt wird. Innerhalb des picture-Tags kann man dazu dem Browser u.a. verschieden große Bilder anbieten. Dieser sucht dann selbstständig eine Bildgröße aus. Neben der Bildschirmgröße kann die Entscheidung des Browsers ggf. auch von der Verbindungsgeschwindigkeit abhängen.
Damit der Browser optimal entscheiden kann, gibt man ihm zu jedem Bild die Breite (in Pixeln) und geplante Darstellungsbreite in Prozent an. Letztere variiert, da bei den meistens Templates je nach Bildschirmbreite die Spaltenanzahl der Produktdarstellung sowie weitere Dinge verändert werden.
Der Shop weiß, welche Maximalwerte bei den Bildern eingestellt sind und der Templateersteller weiß, wann wie viele Spalten zur Darstellung genutzt werden. Aus diesen Daten kann theoretisch per Code der picture-Tag optimiert werden.
Ich habe das mal als Beispiel manuell für den Dev. Shop in den Standarteinstellungen mit dem voreingestellten eingestellten Template (tpl_modified_responsive) gemacht:
Das Template folgt in der Darstellung diesen Vorgaben:
- Bildschirmbreite ist kleiner 370px ---- Vorschaubild nimmt 100% der Breite ein
- Bildschirmbreite ist mindestens 370px ---- Vorschaubild nimmt 50% der Breite ein
- Bildschirmbreite ist mindestens 690px ---- Vorschaubild nimmt 33,33% der Breite ein
- Bildschirmbreite ist mindestens 920px ---- Vorschaubild nimmt 25% der Breite ein
- Bildschirmbreite ist mindestens 985px ---- linke Leiste erscheint (265px breit), Vorschaubild nimmt 33,33% der übrigen Breite ein
Als Bildgrößen stehen in den Standarteinstellungen (Maximalwerte) folgende zur Verfügung:
- mini_images: 80px breit
- midi_images: 160px breit
- thumbnail_images: 240px breit
- info_images: 520px breit
- popup_images: 800px breit
Aus diesen Angaben ergibt sich meiner Meinung nach folgender optimaler picture-Tag den ich hiermit gerne zur Diskussion stelle (mini und popup habe ich weggelassen, mini wäre ggf. bei ganz schlechter Internetverbindung interessant). Lazyload etc. habe ich auch raus gelassen, weil es mir erst nur einmal darum geht, welcher picture-Tag unter den oben genannten Bedingungen, ideal wäre. Vielleicht findet sich eine bessere oder kürzere Lösung:
<picture>
<source media="(min-width: 370px)"
srcset="https://stable.modified-shop.org/images/product_images/info_images/24_0.jpg 520w,
https://stable.modified-shop.org/images/product_images/thumbnail_images/24_0.jpg 240w,
https://stable.modified-shop.org/images/product_images/midi_images/24_0.jpg 160w"
sizes="50vw" />
<source media="(min-width: 690px)"
srcset="https://stable.modified-shop.org/images/product_images/info_images/24_0.jpg 520w,
https://stable.modified-shop.org/images/product_images/thumbnail_images/24_0.jpg 240w,
https://stable.modified-shop.org/images/product_images/midi_images/24_0.jpg 160w"
sizes="33.33vw" />
<source media="(min-width: 920px)"
srcset="https://stable.modified-shop.org/images/product_images/info_images/24_0.jpg 520w,
https://stable.modified-shop.org/images/product_images/thumbnail_images/24_0.jpg 240w,
https://stable.modified-shop.org/images/product_images/midi_images/24_0.jpg 160w"
sizes="25vw" />
<source media="(min-width: 985px)"
srcset="https://stable.modified-shop.org/images/product_images/info_images/24_0.jpg 520w,
https://stable.modified-shop.org/images/product_images/thumbnail_images/24_0.jpg 240w,
https://stable.modified-shop.org/images/product_images/midi_images/24_0.jpg 160w"
sizes="(100vw - 265px)/3" />
<source
srcset="https://stable.modified-shop.org/images/product_images/info_images/24_0.jpg 520w,
https://stable.modified-shop.org/images/product_images/thumbnail_images/24_0.jpg 240w,
https://stable.modified-shop.org/images/product_images/midi_images/24_0.jpg 160w"
sizes="100vw" />
<img src="https://stable.modified-shop.org/images/product_images/thumbnail_images/24_0.jpg" alt="Produktbild" />
</picture>
Linkback: https://www.modified-shop.org/forum/index.php?topic=42330.0