【问题标题】:How To Vertically Center Text Over Responsive Video如何在响应式视频上垂直居中文本
【发布时间】:2016-05-07 22:23:39
【问题描述】:

由于某种原因,这让我见怪不怪,找不到可靠的答案。

我在后台播放了一个全角视频,并响应屏幕尺寸。我在视频上有一个标题/文字。但是我一生都无法弄清楚如何以响应的方式将此文本垂直居中放置在视频中!感谢您的帮助!

代码笔:

http://codepen.io/149203/pen/VagPxe

html:

<body>
  <div class="header-container">
    <div class="video-container">
      <video preload="true" autoplay="autoplay" loop="loop" volume="0">
            <source src="https://originate-v3-prod.s3.amazonaws.com/sites/53854785dc60d94b96000002/pages/53854785dc60d94b96000004/files/Originate_B_W_Small6.mp4" type="video/mp4">
        </video>
    </div> <!-- video-container -->
    <h3>Centered Title</h3>
    <h6>This should be vertically and horizontally centered</h6>
  </div> <!-- header-container -->
</body>

css:

.header-container {
  width: 100%;
  height: 100vh;
  position: relative;
  padding: 1px;
}

.video-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

video {
  position: absolute;
  z-index: -100;
  width: 100%;
}

h3,
h6 {
  text-align: center;
  color: white;
}

拉入这个css:

https://maxcdn.bootstrapcdn.com/bootswatch/3.3.6/cyborg/bootstrap.min.css

【问题讨论】:

    标签: javascript jquery html css html5-video


    【解决方案1】:

    将包装器显示为display: table,将子元素更改为display: table-cellvertiacl-align: middle. http://codepen.io/anon/pen/ZWwLPP

    【讨论】:

    • 感谢您的帮助!不幸的是,您的 codepen 不是真正居中(它在我的屏幕上有点低)并且当窗口改变大小时它保持在同一个位置(即 它不像问题所要求的那样响应),如果用户减小屏幕尺寸,文本会移动到视频底部,然后离开屏幕。希望有一个解决方案,其中文本以响应方式垂直居中于视频上方。再次感谢!
    【解决方案2】:

    我找到并分叉了这个 CodePen。这是我找到的最佳解决方案。 (使用引导程序。)

    http://codepen.io/149203/pen/JXxbEL

    HTML

    <div class="row">
      <div class="col-xs-12 vert-center-container">
        <video autoplay loop style="width:100%" class="img-responsive">
          <source src="https://originate-v3-prod.s3.amazonaws.com/sites/53854785dc60d94b96000002/pages/53854785dc60d94b96000004/files/Originate_B_W_Small6.mp4" />
        </video>
        <div class="vert-center-text">
          <h1>Caption Text</h1>
        </div>
      </div>  
    </div>
    

    CSS

    .vert-center-text {
       position: absolute; 
       top: 40%; 
       left: 0;
       text-align: center; 
       width: 100%; 
    }
    
    .vert-center-text h1 { 
        color: white;
    }
    
    .vert-center-container {
      position:relative;
    }
    

    【讨论】:

      【解决方案3】:

      vertical-align:middle模拟标题容器为表格,h3、h6为表格单元

      .header-container {
        width: 100%;
        height: 100vh;
        position: relative;
        padding: 1px;
        display:table;
      }
      
      .video-container {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        overflow: hidden;
      
      }
      
      video {
        position: absolute;
        z-index: -100;
        width: 100%;
      }
      
      h3,
      h6 {
        display:table-cell;
        vertical-align:middle;
        text-align: center;
        color: white;
      }
      <body>
        <div class="header-container">
          <div class="video-container">
            <video preload="true" autoplay="autoplay" loop="loop" volume="0">
                  <source src="https://originate-v3-prod.s3.amazonaws.com/sites/53854785dc60d94b96000002/pages/53854785dc60d94b96000004/files/Originate_B_W_Small6.mp4" type="video/mp4">
              </video>
          </div>
          <!-- video-container -->
          <h3>Centered Title</h3>
          <h6>This should be vertically and horizontally centered</h6>
        </div>
        <!-- header-container -->
      </body>

      【讨论】:

      • 感谢您的帮助!但是这不会使居中的文本响应。如果我更改窗口大小,并且视频减小了大小,您的文本停留在同一个地方并最终幻灯片离开视频的底部。 我在整页中运行了您的 sn-p 以进行测试。正如我在问题中所问的那样,我会喜欢一种解决方案,其中文本以响应方式垂直居中于视频上方。再次感谢!
      • 对于动态解决方案,您必须根据其父级在窗口调整大小时使用 jquery 重新检查和更新 h3 和 h6 的高度。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 2014-09-02
      • 2014-03-05
      • 2014-11-21
      • 1970-01-01
      • 2013-09-02
      相关资源
      最近更新 更多