Tobias Scheible Cyber Security & IT-Forensik Dozent
Videos responsive einbinden

YouTube Videos responsive einbinden

Responsive Webdesign lässt sich mittlerweile relativ leicht umsetzen. Nur externe Elemente, wie YouTube Videos, passen noch nicht ganz ins Konzept. Mit diesem Problem hatte ich auch zu kämpfen, als ich mein Layout umstellte. Aber dafür gibt es eine elegante CSS-Lösung.

Samstag, 19. Januar 2013
6 Kommentare

Externe Elemente wie YouTube Videos, Slideshare Präsentationen oder Issuu Online-Kataloge können per iFrame oder Flash-”Object” eingebunden werden.  Diese Elemente besitzen aber immer nur eine feste Pixelgröße, was bei einem flexiblen Layout ziemlich störend ist. Eine prozentuale Angabe der Größe macht keinen Sinn, da sich die Angabe auf das Elternelement bezieht und nicht auf den Inhalt des eingebundenen Elements selbst.

Die Lösung ist ein DIV-Wrapper und ein CSS-Trick. Wie die Technik funktioniert, zeigt John Surdakowski in seinem Artikel “Responsive Youtube Embed”. Allerdings ist diese Lösung nur für Elemente im 16 zu 9 Format gedacht. Präsentationen im 4 zu 3 Format bekommen dann einen Rand. Daher habe ich mehrere Klassen angelegt.

.responsive_16-9, .responsive_4-3, .responsive_a4{
   position: relative;
   <!-- 16 zu 9 Layout für Videos -->
   padding-bottom: 56.25%;
   height: 0;
   overflow: hidden;
}

.responsive_4-3{
   <!-- 4 zu 3 Layout für Präsentationen -->
   padding-bottom: 75%;
}

.responsive_a4{
   <!-- DIN A4 Layout für Dokumente -->
   padding-bottom: 142.86%;
}

.responsive_16-9 iframe, .responsive_4-3 iframe, .responsive_a4 iframe,
.responsive_16-9 object, .responsive_4-3 object, .responsive_a4 object,
.responsive_16-9 embed, .responsive_4-3 embed, .responsive_a4 embed{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

Hier drei Beispiele mit den verschiedenen Klassen:

<div class=”responsive_16-9”>
   <iframe src="https://www.youtube.com/embed/aeHuTZu1XNw?rel=0" width="560" height="315" frameborder="0" allowfullscreen></iframe>
</div>
<div class=”responsive_4-3”>
   <iframe src="http://de.slideshare.net/slideshow/embed_code/12837964" width="427" height="356" frameborder="0" allowfullscreen> </iframe>
</div>
<div class=”responsive_a4”>
   <iframe src="http://de.slideshare.net/slideshow/embed_code/8701117" width="479" height="511" frameborder="0" allowfullscreen> </iframe>
</div>

Einfach das Browser-Fenster verkleinern und das Video und die Dokumente werden sich immer anpassen:

Responsive 16:9

Responsive 4:3

Responsive DIN A4

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Valentin am 23. Januar 2013 um 12:07 Uhr

Danke für den Tipp. Hab mich schon totgesucht um eine Lösung zu finden.

Chris am 23. Januar 2013 um 15:30 Uhr

Das war mir vorher nicht bewusst, dass man mit Videos dasselbe Problem hat wie mit Website an sich. Ich frage mir nur, ob YouTube z..B. mit dem Aufkommen der Smartphones sämtliche Seiten umbauen musste. Na, viel Spaß.

APD Events - Eventagentur aus Hannover am 29. Januar 2013 um 15:06 Uhr

Danke für den tollen Tipp. Schönes Layout übrigens.

Christian Schnettelker am 23. August 2014 um 00:09 Uhr

Hey, danke für den Tipp! Habe zwar die Lösung von John Surdakowski in abgeänderter Form benutzt, aber der Artikel + Link hat mir in jedem Falle weiter geholfen.

Vitaliy / D4u am 1. November 2014 um 14:09 Uhr

Hm, die vorgeschlagene Lösung scheint zu funktionieren, in 99% aller Fälle ist die erste Klassen-Deklaration ausreichend und natürlich die letzte.

Trotzdem hatte ich den Gedanken, dass ich nicht ganz verstehe, warum es funktioniert. Gegoogelt und.. Tataa, den Ursprungsbeitrag (Mai 2009!!!) entdeckt. alistapart.com/article/creating-intrinsic-ratios-for-video

Pia am 11. August 2015 um 09:49 Uhr

Jo jetzt hat es geklappt, danke für den Tipp.
Hatte schon lange ohne Erfolg rumgefummelt…
Ich war der Verzweiflung nahe.

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.