我正在尝试全宽视频,following代码是一个示例。我不想通过在响应时提供高度来限制视频,但是当我在小屏幕上观看时,位于其上方或上方的内容会被向下推。移动
即使屏幕很小并且其下方的文本或面板也隐藏在视频的后面或隐藏/重叠,我如何确保视频上的文本显示在同一位置。

我想使视频及以下视频的文字更加体面,而不是跳跃或隐藏。我使用的位置错误吗?

.centered{
    position: relative;
    top:50%;
    z-index: 1;
    color:#fff;
    text-shadow:1px 1px 10px #000;
}
video{
    background-size:cover;
    width: 100%;
    position: absolute;
    top:0;
}

最佳答案

确保父元素具有position: relative;并且包含视频,并且父元素会根据视频进行响应调整。我这样做是通过获取视频的长宽比并创建填充(56.2%)来为视频的长宽比创建空间的(使用iframe section here中的技术),然后将文本放在该父元素中,并结合使用position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);将文本置于视频的中心。



* {margin:0;padding:0;}

#video {
  height: 0;
  padding-top: 56.2%;
  position: relative;
  overflow: hidden;
}

#video video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  background: url(polina.jpg) no-repeat;
  background-size: cover;
}

#video h1 {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
  text-shadow: 1px 1px 10px #000;
  font-size: 36px;
  font-family: sans-serif;
  text-align: center;
}

<div id="video">
  <video poster="https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/polina.jpg" id="bgvid" playsinline="" autoplay="" muted="" loop="">
    <source src="http://thenewcode.com/assets/videos/polina.webm" type="video/webm">
    <source src="http://thenewcode.com/assets/videos/polina.mp4" type="video/mp4">
  </video>
  <h1>We Evolve with our students
</div>

09-30 16:39
查看更多