【问题标题】:How to place video.js controls below the video without creating a same-sized bar above the video如何在视频下方放置 video.js 控件而不在视频上方创建相同大小的栏
【发布时间】:2014-10-15 19:07:57
【问题描述】:

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

目标是放置控件,使其不在视频本身的顶部,但顶部没有与控件栏高度相同的栏。

当帧的大小调整到源的大小时,视频就在它应该在的位置,并且控件位于帧的顶部和底部。要将它们置于视频下方,需要将控制栏高度添加到帧高度的 2 倍,从而在视频上方创建栏。在此先感谢您的帮助!

【问题讨论】:

  • 你的代码在哪里?做一个小提琴或类似的东西来展示你到目前为止的东西:)

标签: css html5-video video.js


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    相关资源
    最近更新 更多