我在响应式网站上使用视频HTML5标记。我将高度和宽度设置为100%并且它工作正常,除了在移动版本中它正在破坏布局。
网址:omob-2.myshopify.com
<div style="height: 100%; width: 100%;">
<video width="100%" height="100%" autoplay>
<source src="intro_12_07_14.mp4" type="video/mp4">
</video>
</div>
有什么想法吗?
答案 0 :(得分:0)
在不支持视频标记的设备上,您会显示图片。这里有一个答案How can I display an image if browser does not support HTML5's <video> tag
编辑:设置css样式的宽度和高度,而不是视频标记。仅设置宽度,以保持尺寸比例,就像这样。
video {
width: 100%;
height: auto !important;
}
答案 1 :(得分:0)
使用 CSS3 transform translate(-50%, -50%)
将视频置于页面中央:
<div class="video-container">
<video autoplay loop="true" width="1280" height="720">
<source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
</video>
</div>
.video-container {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
.video-container video {
/* Make video to at least 100% wide and tall */
min-width: 100%;
min-height: 100%;
/* Setting width & height to auto prevents the browser from stretching or squishing the video */
width: auto;
height: auto;
/* Center the video */
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
body {
background: #000;
color: #fff;
font-family: 'Oxygen', sans-serif;
}
请参见demo。
答案 2 :(得分:0)
您可以同时使用 max-width 属性或 object-fit 属性来实现此目的。请参阅参考资料:Using the object-fit property 和 Using the max-width property with fill-available
/* Using fill-available on the max-width property */
/* A box you would like to place the video in*/
.wrapper {
width: 600px
height: 300px;
}
/* The video */
.wrapper_video > video {
width: 100%;
max-width: -webkit-fill-available;
max-width: fill-available;
}
/* The object-fit property defines how an element responds to the height
and width of its content box.*/
/* A box you would like to place the video in*/
.wrapper {
width: 600px
height: 300px;
}
/* The video */
.wrapper_video > video {
width: 100%;
height: 100%;
object-fit: cover;
}