html - 如何根据父 div 使元素居中?

标签 html css centering

我正在尝试在视频顶部添加一个大播放按钮。

视频本身是响应式的,我希望播放按钮始终在视频中水平和垂直居中。

会是这样的

 ---------------------------
|                           |
|                           |
|   play button in center   |  <----video
|                           |
|                           |
 ---------------------------

我有这样的东西:

<div style='text-align:center;'>
         <div id='playIcon'><img src='play.png'/></div> 
          <video id='video' >
              <source src=/video.mp4' type="video/mp4">
          </video>
        </div>
</div>

我的CSS

#video{
   width:100%;
   max-height:1200px;
   z-index: 1;
   background-color: black;
}

在这种情况下如何使播放按钮居中?

最佳答案

这是一个 fiddle :

http://jsfiddle.net/Bc4NP/

你需要添加 position:relative 到你的主 div:

<div style="text-align:center; position:relative">
    <div id="playIcon"><img src="play.png" /></div> 
        <video id="video">
            <source src="/video.mp4" type="video/mp4">
        </video>
    </div>
</div>

然后,将此样式添加到您的播放按钮:

#video{
   width:100%;
   max-height:1200px;
   z-index: 1;
   background-color: black;
}
#playIcon {
    position: absolute; 
    top: 47%;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

现在您获得了精确的水平居中对齐和几乎精确的垂直对齐(您可以更精确地更改 top:47%)

关于html - 如何根据父 div 使元素居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21716986/

相关文章:

HTML/CSS - 不再悬停时保持悬停效果

css - 如何为已在 SASS/SCSS 中声明的嵌套类编写简写?

html - 居中输入和文本区域不匹配

HTML div 居中

javascript - 我应该在哪个 HTML 元素上放置 page-global data-* 属性?

html - 固定顶部 div 不工作

html - 页面在移动浏览器中放大而不是全视口(viewport)宽度

html - CSS 布局在 IE 11 中完全困惑

html - IE 不会居中 <main> 和它的内容

jquery - 使用 JQuery 在附加行中显示表详细信息