Est-ce que quelqu'un sait comment redimensionner l'affiche vidéo HTML5 pour qu'elle corresponde aux dimensions exactes de la vidéo elle-même?
voici un jsfiddle qui montre le problème: http://jsfiddle.net/zPacg/7/
voici ce code:
HTML:
<video controls width="100%" height="100%" poster="http://www.wpclipart.com/blanks/buttons/glossy_buttons/glossy_button_blank_orange_rectangle.png">
<source src="http://demo.inwebson.com/html5-video/iceage4.mp4" type="video/mp4" />
<source src="http://demo.inwebson.com/html5-video/iceage4.ogg" type="video/ogg" />
<source src="http://demo.inwebson.com/html5-video/iceage4.webm" type="video/webm" />
</video>
CSS:
video{
border:1px solid red;
}
Notez que le rectangle orange ne s'adapte pas à la bordure rouge de la vidéo.
De plus, ajouter simplement le CSS ci-dessous ne fonctionne pas non plus car il redimensionne la vidéo avec l'affiche:
video[poster]{
height:100%;
width:100%;
}
css
html
attributes
html5-video
Tim Peterson
la source
la source
poster
dans le lien que vous avez envoyé. Pouvez-vous me montrer à quoi ressemble le CSS pour ce dont vous parlez, c'est-à-dire "-webkit media style
"? merciRéponses:
Vous pouvez utiliser une image d'affiche transparente en combinaison avec une image d'arrière-plan CSS pour y parvenir ( exemple ); cependant, pour avoir un arrière-plan étiré à la hauteur et à la largeur d'une vidéo, vous devrez utiliser une
<img>
balise positionnée de manière absolue ( exemple ).Il est également possible de mettre
background-size
à100% 100%
dans les navigateurs qui supportentbackground-size
( par exemple ).Mettre à jour
Une meilleure façon de le faire serait d'utiliser la
object-fit
propriété CSS comme le suggère @Lars Ericsson.Utilisation
si vous ne souhaitez pas afficher les parties de l'image qui ne correspondent pas au rapport hauteur / largeur de la vidéo, et
pour étirer l'image pour l'adapter aux proportions de votre vidéo
Exemple
la source
no-repeat
édité l'image d'arrière-plan. Quant à l'autre solution, donnez-moi un moment pour y arriver.z-index
image de sorte que la vidéo soit visible lorsque vous commencez à la lire.En fonction des navigateurs que vous ciblez, vous pouvez utiliser la propriété object-fit pour résoudre ce problème:
ou c'est peut
fill
- être ce que vous recherchez. Toujours à l'étude pour IE .la source
object-fit: initial
did it for me.video{object-fit: cover;}
?Ou vous pouvez utiliser simplement l'
preload="none"
attribut pour rendre l'arrière-plan VIDEO visible. Et vous pouvez utiliserbackground-size: cover;
ici.la source
Je jouais avec cela et j'ai essayé toutes les solutions, finalement la solution que j'ai choisie était une suggestion de l'inspecteur de Google Chrome. Si vous ajoutez ceci à votre CSS, cela a fonctionné pour moi:
la source
Ma solution combine les réponses de user2428118 et Veiko Jääger, permettant un préchargement mais sans nécessiter une image transparente séparée. Nous utilisons à la place une image transparente 1px encodée en base64.
la source
object-fit
n'empêche pas les distorsions de taille sauvageposter
qui se produisent sur Android pendant le chargement du contenu.J'ai eu cette idée et cela fonctionne parfaitement. D'accord, nous voulons donc supprimer la première image de la vidéo de l'écran, puis redimensionner l'affiche à la taille réelle de la vidéo. Si nous définissons ensuite les dimensions, nous avons terminé l'une de ces tâches. Alors il n'en reste qu'un seul. Alors maintenant, le seul moyen que je connaisse pour me débarrasser de la première image est de définir une affiche. Cependant, nous allons donner à la vidéo une fausse vidéo, qui n'existe pas. Cela entraînera un affichage vide avec l'arrière-plan transparent. Ie arrière-plan de notre div parent sera visible.
Simple à utiliser, mais il peut ne pas fonctionner avec tous les navigateurs Web si vous souhaitez redimensionner la dimension de l'arrière-plan du div à la dimension de la vidéo car mon code utilise "background-size".
HTML / HTML5:
CSS:
la source
Couverture
Remplir
la source
J'ai eu un problème similaire et je viens de le résoudre en créant une image avec le même rapport hauteur / largeur que ma vidéo (16: 9). Ma largeur est définie à 100% sur la balise vidéo et maintenant l'image (320 x 180) s'adapte parfaitement. J'espère que cela pourra aider!
la source
Vous pouvez redimensionner la taille de l'image après avoir généré le pouce
la source
Vous pouvez utiliser l'affiche pour afficher l'image au lieu de la vidéo sur un appareil mobile (ou des appareils qui ne prennent pas en charge la fonctionnalité de lecture automatique vidéo). Parce que les appareils mobiles ne prennent pas en charge la fonctionnalité de lecture automatique vidéo.
Maintenant, vous pouvez simplement styliser l'attribut poster qui se trouve à l'intérieur de la balise vidéo pour l'appareil mobile via une requête multimédia.
la source
la source
Cela a fonctionné
Et le CSS
la source
la source