将内容集中在一个居中的div中

时间:2016-06-27 00:51:07

标签: html css twitter-bootstrap

我在div中有一个div,里面有内容(动态创建的内容)我让子div垂直居中,但不能将内容垂直居中。我正在使用Bootstrap。



.main { 
  position: relative;
  min-height: 600px; 
  width: 100%;
  margin: 0; padding: 0;
}

#content { 
  position: absolute; 
  display: inline-block;
  text-align: center;
  margin: auto;
  max-width: 60%;
  top: 50%;
  right: 0;
  left: 0;
  bottom: 0;
  transform: translateY(-50%) 
}

#content p {
  position: relative; 
  font-weight: 500;
  font-size: 3.5em;
  line-height: 1.25em;
  color: #fff;
}

<div class="row">
  <div class="main">
    <div id="content">				
      <p> text content </p> ( this is inputted by Wordpress/post )
    </div>
  </div>	  
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

您可以使用flexbox:

&#13;
&#13;
.main { 
  min-height: 300px;
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  justify-content: center;
  align-items: center;
}

#content { 
  background-color: rgba(0, 0, 0, 0.4);
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#content p {
  color: white;
}
&#13;
<div class="row">
    <div class="main" style="">
        <div id="content">              
            <p> text content </p>
        </div>
    </div>    
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

更好的解决方案始终是使用CSS3中开箱即用的flexbox。

只需使用以下课程:

#content p {
    height: 100%;
    padding: 0;
    margin: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-weight: 500;
    font-size: 3.5em;
    line-height: 1.25em;
    color: #000;
}

可替换地,

你可以把班级的最小高度&#34; main&#34;到150%而不是600px。

    .main { 
       position: relative;
       min-height: 150%; 
       width: 100%;
       margin: 0; padding: 0;
    }

这将是最简单的解决方案。

答案 2 :(得分:0)

尝试添加类似这样的样式,bootstrap不具备这种功能,它取决于用户完成工作。

.center {
  margin: auto;
  height: 65%;
}

希望这个帮助