J'ai mis une vidéo sur mon site en utilisant un iframe
de YouTube, alors que le iframe
est en pleine largeur (100%
) la vidéo est très petite (hauteur) dans le cadre. Comment puis-je faire correspondre la largeur du conteneur?
Code:
<iframe width="100%" height="100%" src="https://www.youtube.com/embed/5m_ZUQTW13I" frameborder="0" allowfullscreen></iframe>
Voir capture d'écran
Pour créer une vidéo You Tube pleine largeur et conserver la hauteur (et la garder sensible), vous pouvez utiliser la configuration suivante.
HTML avec vidéo
<div class="videoWrapper">
<!-- Copy & Pasted from YouTube -->
<iframe width="560" height="349" src="http://www.youtube.com/embed/n_dZNLr2cME?rel=0&hd=1" frameborder="0" allowfullscreen></iframe>
</div>
CSS
.videoWrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
.videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Le problème est qu'un iframe et une vidéo ne peuvent pas être redimensionnés comme une image, où il obtient la hauteur proportionnellement correcte en fonction du rapport de format si vous laissez simplement la hauteur par défaut.
Une solution à cela consiste à déterminer la largeur/hauteur native de votre vidéo et à faire un peu de calcul pour déterminer la hauteur à 100% de la largeur de l'écran. En supposant que ce soit 1920x1080, vous pouvez faire quelque chose comme ceci en utilisant viewport width (vw). Vous pouvez réduire la valeur de 100vw à celle qui vous convient le mieux si vous ne voulez pas qu'elle remplisse littéralement l'écran.
iframe{
width: 100vw
height: calc(100vw/1.77);
}