Auf unserer Website ist ein YouTube-Video eingebettet. Wenn ich den Bildschirm auf Tablet- oder Telefongrößen verkleinere, wird er bei einer Breite von etwa 560 Pixel nicht mehr verkleinert. Ist dies der Standard für YouTube-Videos oder kann ich dem Code etwas hinzufügen, um ihn zu verkleinern?
youtube
responsive-design
embed
MattM
quelle
quelle
Antworten:
Sie können YouTube-Videos mit CSS ansprechen. Wickeln Sie den Iframe in ein Div mit der Klasse "Videowrapper" und wenden Sie die folgenden Stile an:
Das .videowrapper div sollte sich in einem responsiven Element befinden. Das Auffüllen des .videowrappers ist erforderlich, damit das Video nicht zusammenfällt. Je nach Layout müssen Sie möglicherweise die Zahlen anpassen.
quelle
56.25%
25px
padding-bottom: 56.25%
padding-top: 25px
Wenn Sie Bootstrap verwenden, können Sie auch eine responsive Einbettung verwenden. Dadurch wird die Reaktion der Videos vollständig automatisiert.
http://getbootstrap.com/components/#responsive-embed
Unten finden Sie einen Beispielcode.
quelle
col-sm-8 col-sm-offset-2
Ich habe das CSS in der akzeptierten Antwort hier für meine reaktionsschnellen YouTube-Videos verwendet - es hat hervorragend funktioniert, bis YouTube Anfang August 2015 sein System aktualisiert hat. Die Videos auf YouTube haben die gleichen Dimensionen, aber aus welchem Grund auch immer das CSS in der akzeptierten Antwort jetzt Briefkästen alle unsere Videos. Schwarze Bänder oben und unten.
Ich habe mit den Größen herumgekitzelt und mich entschlossen, die obere Polsterung loszuwerden und die untere Polsterung auf zu ändern
56.45%
. Scheint gut auszusehen.quelle
Überarbeitete Javascript-Lösung nur für YouTube und Vimeo mit jQuery.
Einfach zu bedienen mit nur einbetten:
Oder mit einem Responsive Style Framework wie Bootstrap.
width="16" height="9"
)*=
Selektor anstelle des Zeichenfolgenanfangs^=
Vielen Dank an @Dampas für den Ausgangspunkt. https://stackoverflow.com/a/33354009/1011746
quelle
Dies ist ein alter Thread, aber ich habe eine neue Antwort auf https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php gefunden
Das Problem mit der vorherigen Lösung besteht darin, dass Sie einen speziellen Div-Around-Videocode benötigen, der für die meisten Anwendungen nicht geeignet ist. Hier ist also eine JavaScript-Lösung ohne spezielle Div.
quelle
Die Lösung von @ magi182 ist solide, es fehlt jedoch die Möglichkeit, eine maximale Breite festzulegen. Ich denke, eine maximale Breite von 640px ist notwendig, da das YouTube-Miniaturbild ansonsten pixelig aussieht.
Meine Lösung mit zwei Wrappern wirkt für mich wie ein Zauber:
Ich habe auch den Polsterboden in der inneren Hülle auf 50% eingestellt, da bei 56% von @ magi182 oben und unten ein schwarzer Balken angezeigt wurde.
quelle
Mit Credits zur vorherigen Antwort https://stackoverflow.com/a/36549068/7149454
Boostrap-kompatibel, passen Sie Ihre Containerbreite an (in diesem Beispiel 300px) und los geht's:
quelle
Das Ganze finden Sie hier und Live-Beispiel .
resizeHeroVideo wird erst aufgerufen, nachdem der Youtube-Player vollständig geladen wurde (das Laden der Seite funktioniert nicht) und wenn die Größe des Browserfensters geändert wird. Wenn es ausgeführt wird, berechnet es die Höhe und Breite des Iframes und weist die entsprechenden Werte zu, wobei das richtige Seitenverhältnis beibehalten wird. Dies funktioniert unabhängig davon, ob die Fenstergröße horizontal oder vertikal geändert wird.
quelle
Okay, sieht nach großen Lösungen aus.
Warum nicht hinzufügen?
width: 100%;
direkt in Ihren Iframe einfügen? ;)Ihr Code würde also ungefähr so aussehen
<iframe style="width: 100%;" ...></iframe>
Versuchen Sie dies, es wird so funktionieren, wie es in meinem Fall funktioniert hat.
Genießen! :) :)
quelle
Ich mache das mit einfachem CSS wie folgt
HTML QUELLTEXT
CSS-CODE
quelle