首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS高度自动没有高度

问CSS高度自动没有高度
EN

Stack Overflow用户
提问于 2014-09-11 20:35:36
回答 1查看 720关注 0票数 0

在响应视频播放器,没有高度的高度,自动元素,并没有工作,它应该。首先,封面图像应该覆盖整个球员和控制栏应该是向下的。就像这里:

​

​

没有高度,所以我不能把高度: 100%,因为一切都是疯狂的。如果我把高度100%放在封面图像上,它就消失了。控件条粘在顶部,不能移动。我这样工作已经有一年了,从来没有遇到过这样的问题。

这是我的代码:JSFiddle

HTML

代码语言:javascript
复制
<section class="player">
    <video class="video">
        <source src="http://ridens.net/templates/default/player/videos/Ridens_promo_video_finish_mp4.ogv" type="video/ogg">
    </video>
    <div class="video_cover">
        <img src="http://ridens.net/templates/default/player/videos/promovideothumbnail.png">
    </div>
    <div class="controls">
        <div class="controls_bar">

        </div>
    </div>
</section>

CSS:

代码语言:javascript
复制
.player {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
}
.video {
    width: 100%;
    display: block;
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;
}
.video_cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 40;
}
.video_cover img {
    width: 100%;
    height: 100%;
}
.controls {
    position: absolute;
    z-index: 60;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.controls_bar {
    position: relative;
    z-index: 70;
    left: 5%;
    bottom: 0;
    background: #000;
    height: 100%;
    width: 100%;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-11 20:57:00

具有播放功能的jsBin演示

不要使用<img>标记,而是为.video_cover使用响应性的cover背景图像。

代码语言:javascript
复制
<div class="video_cover"></div> <!-- Tada! no image! -->

您需要的一切:(又名:完全CSS重制作):

代码语言:javascript
复制
.player { position: relative; }
.video { width: 100%; }
.video_cover {
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%;
  background: url(coverimage.png) 50% / cover;
}
.controls {
  position: absolute;
  width: 100%;
  bottom: 0;
  background: #000;
  height: 40px;
  color: #fff;
}

如果您需要它,下面是完整的HTML:

代码语言:javascript
复制
<section class="player">

  <video class="video">
    <source src="promo.ogv" type="video/ogg">
  </video>

  <div class="video_cover"></div>

  <div class="controls">
    <div class="controls_bar">
      <span id="play"></span>
    </div>
  </div>

</section>  

和jQuery:

代码语言:javascript
复制
var $pla = $('.player');
var $vid = $('.video');
var $cov = $('.video_cover');
var $con = $('.controls');

$con.hide();

$pla.hover(function(){
  $con.stop().slideToggle(250);
});

$('#play').html("&#9658;").click(function(){
  var pp = this.pp ^= 1;
  $(this).html(pp?"&#9616;&#9616;":"&#9658;");
  $cov.fadeToggle(700, function(){
    $vid[0][pp?"play":"pause"]();
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25796476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档