J'utilise le CSS suivant pour afficher une vidéo en pleine largeur (100 %) sur une page HTML5 réactive. La taille native de la vidéo est de 480x270. La vidéo est mise à l'échelle pour remplir toute la largeur de la page sur tous les navigateurs de bureau tout en conservant le rapport hauteur/largeur.
Cependant, Mobile Safari et Chrome sur mon iPad (iOS 6.0.1) affichent un rectangle noir de la même largeur que la page. La vidéo est minuscule et s'affiche dans sa taille native (480x270) au centre du rectangle noir.
video {
width: 100%;
max-width: 100%;
height: auto;
}
inspiré par http://webdesignerwall.com/tutorials/css-elastic-videos . Un commentaire sur cette page me laisse penser qu'il y a une régression dans iOS6.
Depuis la mise à jour de mon iPad vers iOS 6, cette correction ne semble plus fonctionner, je pense que c'est la hauteur : auto qui est à l'origine du problème. Quelqu'un a eu une expérience similaire et a trouvé une solution ?
Quelqu'un d'autre rencontre-t-il ce problème ? I existe-t-il un moyen d'afficher une vidéo HTML5 en pleine largeur sur l'iPad (iOS6) tout en préservant le ratio d'aspect en utilisant uniquement des CSS ?
Le code HTML est le suivant :
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, maximum-scale=1.0, minimum-scale=1.0, initial-scale=1" />
<style>
video {
width: 100%;
max-width: 100%;
height: auto;
border: 1px solid red;
}
</style>
</head>
<body>
<video preload autoplay controls>
<source src="file.mp4" type="video/mp4">
<source src="file.webm" type="video/webm; codecs=vp8, vorbis">
<source sr="file.ogv" type="video/ogg; codecs=theora, vorbis">
</video>