如何在视频下方放置video.js控件,而不在视频上方创建相同大小的条

时间:2014-10-15 19:07:58

标签: css html5-video video.js

设置视频元素的高度(使用Video.js)会导致视频在帧中居中(我认为)。我想将控件放在视频帧的底部,但视频本身放在顶部。

目标是定位控件,使它们不在视频本身的顶部,但顶部没有与控制栏高度相同的栏。

当帧的大小与源相符时,视频就是它应该的位置,控件位于帧的底部。要将它们放在视频下方,需要将控制条高度增加2倍到帧高,这会在视频上方创建条形。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

这是一种方法。添加一个类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);
}