J'ai une vidéo YouTube intégrée sur notre site Web et lorsque je réduis l'écran à la taille d'une tablette ou d'un téléphone, il cesse de rétrécir à environ 560 pixels de largeur. S'agit-il d'une norme pour les vidéos YouTube ou y a-t-il quelque chose que je peux ajouter au code pour le réduire?
125
Réponses:
Vous pouvez rendre les vidéos YouTube réactives avec CSS. Enveloppez l'iframe dans un div avec la classe "videowrapper" et appliquez les styles suivants:
Le div .videowrapper doit être dans un élément responsive. Le remplissage sur le .videowrapper est nécessaire pour empêcher la vidéo de s'effondrer. Vous devrez peut-être modifier les chiffres en fonction de votre disposition.
la source
56.25%
et25px
peut être lue sur alistapart.com/article/creating-intrinsic-ratios-for-videopadding-bottom: 56.25%
: Pour créer un rapport 16: 9, il faut diviser 9 par 16 (0,5625 ou 56,25%).padding-top: 25px
: Pour éviter les problèmes avec le modèle de boîte cassée (IE5 ou IE6 en mode bizarreries), nous utilisons le padding-top plutôt que la hauteur pour créer de la place pour le chrome.Si vous utilisez Bootstrap, vous pouvez également utiliser une intégration réactive. Cela automatisera entièrement la réactivité des vidéos.
http://getbootstrap.com/components/#responsive-embed
Il y a un exemple de code ci-dessous.
la source
col-sm-8 col-sm-offset-2
J'ai utilisé le CSS dans la réponse acceptée ici pour mes vidéos YouTube responsives - a très bien fonctionné jusqu'à ce que YouTube mette à jour son système vers le début du mois d'août 2015. Les vidéos sur YouTube ont les mêmes dimensions, mais pour une raison quelconque, le CSS dans la réponse acceptée maintenant boîtes aux lettres toutes nos vidéos. Bandes noires en haut et en bas.
J'ai vérifié les tailles et décidé de me débarrasser du rembourrage supérieur et de changer le rembourrage inférieur en
56.45%
. Semble bien.la source
Solution Javascript raffinée uniquement pour YouTube et Vimeo utilisant jQuery.
Simple à utiliser avec uniquement intégré:
Ou avec un cadre de style réactif comme Bootstrap.
width="16" height="9"
)*=
sélecteur de sous-chaîne jQuery au lieu du début de la chaîne^=
Merci à @Dampas pour le point de départ. https://stackoverflow.com/a/33354009/1011746
la source
Ceci est un ancien fil, mais j'ai trouvé une nouvelle réponse sur https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php
Le problème avec la solution précédente est que vous devez avoir un div spécial autour du code vidéo, ce qui ne convient pas à la plupart des utilisations. Voici donc une solution JavaScript sans div spécial.
la source
La solution de @ magi182 est solide, mais elle n'a pas la possibilité de définir une largeur maximale. Je pense qu'une largeur maximale de 640px est nécessaire car sinon, la vignette youtube semble pixélisée.
Ma solution avec deux wrappers fonctionne comme un charme pour moi:
J'ai également mis le rembourrage en bas dans l'emballage intérieur à 50%, car avec les 56% de @ magi182, une barre noire en haut et en bas est apparue.
la source
Avec crédits à la réponse précédente https://stackoverflow.com/a/36549068/7149454
Compatible Boostrap, ajustez la largeur de votre conteneur (300px dans cet exemple) et vous êtes prêt à partir:
la source
Voir l'essentiel ici et l' exemple en direct ici .
resizeHeroVideo n'est appelé qu'après le chargement complet du lecteur Youtube (le chargement de la page ne fonctionne pas) et chaque fois que la fenêtre du navigateur est redimensionnée. Lorsqu'il s'exécute, il calcule la hauteur et la largeur de l'iframe et attribue les valeurs appropriées en conservant le rapport hauteur / largeur correct. Cela fonctionne que la fenêtre soit redimensionnée horizontalement ou verticalement.
la source
Ok, ça ressemble à de grandes solutions.
Pourquoi ne pas ajouter
width: 100%;
directement dans votre iframe. ;)Donc, votre code ressemblerait à quelque chose comme
<iframe style="width: 100%;" ...></iframe>
Essayez ceci, cela fonctionnera comme cela a fonctionné dans mon cas.
Prendre plaisir! :)
la source
Je fais cela avec un simple css comme suit
CODE HTML
CODE CSS
la source