我在页面上有一个 html5 视频标签,带有 IE8 的 Flash 后备。视频通过 display:none 隐藏并附加到父“a”,直到按下播放按钮(图像)。此时视频元素被移动到父'b'(覆盖内的一个框),我调用jQuery的show()。
在 Chrome、FF 和 Safari 上,视频显示。但是,在 IE9 和 IE8 上,视频不显示,但存在。意思是,我可以右键单击它应该在的位置,并将获得一个与视频相关的上下文菜单。如果我此时单击播放,视频将定期出现并播放。
让视频出现的另一种方法是更改视频元素的一些 css。例如,将 box-sizing 从原来的 (border-box) 更改为 content-box 将使视频出现,反之亦然。
尝试从该控制台执行此操作是可行的。另一方面,试图在我的脚本中做到这一点并没有。
这是视频元素的 css 及其继承的内容:
*, html > * { box-sizing: border-box; }
audio, canvas, video { display: inline-block; }
.center { text-align: center; }
#section1 #videobox .videoPlayer { cursor: pointer; }
#video {
width: 100%;
height: 100%;
display: block;
position: absolute;
z-index: 10003;
}
我猜这可能是一个奇怪的布局问题(我会说 hasLayout,但幸运的是我没有处理 IE6/7)。
更新 我已经设法在 jsfiddle 中复制了这个问题:http: //jsfiddle.net/e76x5/5/