我正在使用一个经常被引用的类来在弹性容器中水平和垂直居中我的内容。它在所有现代浏览器中都可以工作,但是即使是相当新的Internet Explorer版本也让我感到困扰。
这是我标记的相关部分,利用Bootstrap的embed-responsive类来保持比例。
HTML:
<div class="container-fluid embed-responsive embed-responsive-16by9" style="background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 100%), url('http://placehold.it/800X600') no-repeat;background-size:cover;background-position:center">
<div class="content-center">
<div class="container">
<div class="row">
<div class="col-xs-12 text-center">
<button id="play-video" type="button" class="btn btn-default" data-toggle="modal" data-target="#video-modal" data-youtube="scWpXEYZEGk">
Play
</button>
</div>
</div>
</div>
</div>
</div>
CSS:
.content-center {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
-ms-flex-pack: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
float: none;
}
很遗憾,元素并没有居中,而是在页面的右侧。
这里有一张截图作为参考: