如何使HTML 5视频播放适合帧而不是保持宽高比?

Jim*_*ers 10 video html5

我一直在尝试HTML5视频播放.例如,我在页面上嵌入了这个视频对象:

<video width="480" height="380" class="ecard" tabindex="0">
   <source type="video/ogg; codecs=&quot;theora, vorbis&quot;" src="videos/1156 In your honor we'll be dancing.ogv"></source>
   <source type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;" src="videos/1156 In your honor we'll be dancing.mp4"></source>
</video>
Run Code Online (Sandbox Code Playgroud)

我的问题是视频元素保留了它的宽高比,而我宁愿强制播放适合帧.有谁知道这样做的方法?

小智 14

目前无法做到这一点,但凭借CCS3图像适合属性,它将成为可能.但是,没有浏览器支持它.然后你可以使用它来使所有视频拉伸到宽度/高度:

video {
  image-fit: fill;
}
Run Code Online (Sandbox Code Playgroud)

请参阅http://dev.w3.org/csswg/css3-page/#propdef-image-fit上的规范

  • 正如另一个答案中所提到的,这已被改为`object-fit`.请参阅[规范](http://dev.w3.org/csswg/css-page/#changes)和[caniuse](http://caniuse.com/#search=object-fit). (16认同)
  • 奇怪的是,在Mac Safari(5.1.1)和Chrome(15.0.874.120)上对我不起作用. (2认同)

Sil*_*via 8

现在有点晚了,但是对象适合的CSS3属性将满足这种需求.http://dev.w3.org/csswg/css3-images/#object-fit已在Opera中实现,请参阅http://my.opera.com/desktopteam/blog/2010/08/03/presto-更新.


Sim*_*tes 6

如果要使视频充满整个画面并保持其纵横比,请使用以下方法:

video
{
  object-fit: cover;
  height: 100%;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)