设置视频元素的高度(使用video.js)会导致视频在帧中居中(我认为)。我想把控件放在视频帧的底部,但视频本身放在顶部。
目标是定位控件,使其不在视频本身的顶部,但在顶部没有与控制栏高度相同的栏。
当帧的大小与源一致时,视频就在它应该在的地方,控件就在帧的顶部和底部。要使它们位于视频下方,需要在帧高度上添加2倍的控制条高度,从而在视频上方创建控制条。提前感谢您的帮助!
这是一种方法。添加一个类,此处为vjs-static-controls
,并将高度设置为比视频高30px,因为默认控制条高度为30px。
<video
id="MY_VIDEO_1"
class="video-js vjs-default-skin vjs-static-controls"
controls
preload="auto"
width="720"
height="330"
poster="http://www.videojs.com/img/poster.jpg"
data-setup="{}" />
然后,您可以覆盖定位视频和海报的样式,并处理显示和隐藏控制栏:
/* Always show control bar */
.video-js.vjs-static-controls .vjs-control-bar {
display:block;
}
/* Don't fade out controls */
.video-js.vjs-static-controls.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
opacity: 1;
visibility: visible;
}
/* Align poster to top */
.video-js.vjs-static-controls .vjs-poster {
background-position: 50% 0;
}
/* Override tech height:100% */
.video-js.vjs-static-controls .vjs-tech {
height: auto;
height: calc(100% - 30px);
}