kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

Responsive Images mit ‹figure› oder ‹picture›-Tag: jQuery Picture

Im Responsive Design ist es zwar möglich identische Inhalte unterschiedlich darzustellen, es ist jedoch nicht ohne weiteres möglich Inhalte auszutauschen. Daher werden auf kleinen Bildschirmen meist viel zu große Bilder geladen die lediglich über CSS auf die Abmessung des Displays skaliert sind.
Im Moment gibt es für dieses Problem keine standardisierte Lösung, nur diverse Scripte die den Bildaustausch übernehmen. jQuery Picture ist ein solches Script. Es lässt sich einfach in die Website integrieren, ist gerade einmal 2KB groß und nutzt entweder das valide <figure>- oder das experimentelle <picture>-Element.

Workshops und Seminare von kulturbanause

Unsere Seminar-Termine für 2018 sind online!

Jetzt Tickets sichern!

Basis-Konfiguration

Zunächst müssen jQuery und das Plugin im Quellcode eingebettet werden, anschließend wird das Plugin initialisiert. Je nachdem ob ihr die <figure>- oder die <picture>-Methode verwendet, sieht der Code etwas anders aus. Hier das Beispiel für den validen Ansatz.


$(function(){
    $('figure.responsive').picture();
});

Einbindung über ‹figure›-Tag und Data-Attributes

Wenn ihr Bilder über <figure> einbinden wollt, sieht der Syntax in etwa so aus. Die verschiedenen Bildquellen werden über Data-Attributes angegeben.


<figure class="responsive" data-media="assets/images/small.png" data-media440="assets/images/medium.png" data-media600="assets/images/large.png" title="A Half Brained Idea">
    <noscript>
        <img src="assets/images/large.png" alt="A Half Brained Idea">
    </noscript>
</figure>

Einbindung über ‹picture›-Element

Die Einbindung über <picture> sieht etwas anders aus. Hier werden - ähnlich der Einbindung von Videos oder Audiodateien in HTML - die verschiedenen Quellen über das <source>-Element angegeben.


<picture alt="A Half Brained Idea">
    <source src="assets/images/small.png">
    <source src="assets/images/medium.png" media="(min-width:440px)">
    <source src="assets/images/large.png" media="(min-width:600px)">
    <noscript>
        <img src="assets/images/large.png" alt="A Half Brained Idea">
    </noscript>
</picture>

Links

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei Responsive Design-Projekten

Unsere Agentur ist auf responsive Design spezialisiert. Wir realisieren u.a. maßgeschneiderte Websites und führen Schulungen durch. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung einer Website im Responsive Design benötigst, helfen wir gerne weiter.
Responsive Webdesign-Leistungsangebot →

Das könnte dich auch interessieren

2 Kommentare

  1. waldi

    Verfasst am 2. Juli 2012 um 11:57 Uhr.

    Jetzt müsste nur noch jemand ein WordPress-Plugin draus machen…

  2. Marco

    Verfasst am 2. Juli 2012 um 12:05 Uhr.

    Danke für den (wie immer) nützlichen Beitrag. Ich hatte vor kurzem schon mal so was in der Art gesehen, aber nicht so genau hinterfragt wie du. Auf den ersten Blickt wirkt es aber irgendwie einfacher. Keine Ahnung wie es mit dem Browsersupport aussieht.

    http://filamentgroup.com/lab/responsive_images_experimenting_with_context_aware_image_sizing/

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.