由于某种原因,我无法在使用时设置图像大小<img>
标签内的html5 video
元素。它总是默认回到0 x 0 像素.
我使用这个的原因img
是作为古代浏览器的后备,视频标签不起作用。
这是我的代码注意我故意删除了“myVideo.mp4”来模仿后备 :
<video id="welcome" height="1080" width="1920" preload="auto" loop autoplay>
<source type="video/mp4" src="@Url.Content("~/_video/myVideo.mp4")" />
<img src="@Url.Content("~/_video/posterframe.jpg")" height="1080" width="1920"/>
</video>
这会产生以下结果(在 Chrome 中调试时)。请注意“0x0 像素(自然:1920 x 1080)”
![0 pixels](https://i.stack.imgur.com/gZMkO.png)
有人对修复有任何建议吗?非常感谢
我相信这是浏览器隐藏的方式<img>
自从<video>
元素isChrome 中支持。例如,如果您在 IE8 中打开它,fallback <img>
内容显示正确。
您用于测试回退的条件不正确。删除视频源只会导致浏览器找不到内容(即 404)。在这种情况下,正确的后备方法是使用poster=""
属性上的<video>元素,该元素不在您的标记中。
poster
无视频数据时UA显示的图像文件地址
例如:
<video poster="@Url.Content("~/_video/posterframe.jpg")" id="welcome" height="150" width="150" preload="auto" loop autoplay>
<source type="video/mp4" src="@Url.Content("~/_video/myVideo.mp4")" />
<img src="@Url.Content("~/_video/posterframe.jpg")" height="1080" width="1920"/>
</video>
完整演示(在 Chrome 26 中为我工作)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>HTML5 video demo</title>
</head>
<body>
<video id="welcome" height="150" width="100" preload="auto" loop autoplay poster="http://lorempixel.com/150/100/abstract/1/">
<source type="video/mp4" src="http://www.808.dk/pics/video/gizmo.mp4" />
<img src="http://lorempixel.com/150/100/abstract/1/" height="150" width="100" alt="" title="Your browser does not support the <video> tag"/>
</video>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)