40 votes

Comment puis-je adapter le lecteur YouTube à la largeur de la page tout en conservant le format ?

J'ai une vidéo YouTube que je veux mettre sur ma page web.

Je veux mettre à l'échelle la vidéo pour s'adapter à un pourcentage du navigateur des utilisateurs, mais aussi de garder le rapport d'aspect.

J'ai essayé ceci :

<iframe width="87%" height="315" src="http://www.youtube-nocookie.com/embed/dU6OLsnmz7o" frameborder="0" allowfullscreen></iframe>

Mais cela ne fait que rendre le joueur plus large, pas plus élevé.

Dois-je utiliser JavaScript (ou CSS non standard) ?

76voto

Darwin Points 1300

Ce que je crois être la meilleure solution CSS.

.auto-resizable-iframe {
  max-width: 420px;
  margin: 0px auto;
}

.auto-resizable-iframe > div {
  position: relative;
  padding-bottom: 75%;
  height: 0px;
}

.auto-resizable-iframe iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}
<div class="auto-resizable-iframe">
  <div>
    <iframe frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/_OBlgSz8sSM"></iframe>
  </div>
</div>

Démo http://jsfiddle.net/JBhp2/

12voto

Darwin Points 1300

Assez facile avec un peu de javascript.

jQuery(function() {
    function setAspectRatio() {
      jQuery('iframe').each(function() {
        jQuery(this).css('height', jQuery(this).width() * 9/16);
      });
    }

    setAspectRatio();   
    jQuery(window).resize(setAspectRatio);
});

11voto

Ben Everard Points 8295

Ce plugin jQuery a fait les rondes de ces derniers temps, il s'appelle FitVids et fait exactement ce dont vous avez besoin, redimensionne les vidéos en fonction de la taille du navigateur tout en maintenant le format.

http://swisshempshop.com

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X