Flex 项目不垂直居中

isk*_*k27 3 html css vertical-alignment flexbox

我试图用弹性框垂直居中内容,但没有成功。我不喜欢使用positiontranslate因为它不是固定大小。我的代码有什么问题?

.row-centered {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.col-centered {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    float: none;
    margin-right: 0 auto;
}

.us-container{
  display: flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  resize: both;
  overflow: auto;
}

.us-container div{
  resize: both;
  overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<section id="us" class="container-fluid">
        <div class="row row-centered  us-container">
            <div class="col-sm-8 col-md-8 col-xs-8 col-centered ">
                <p class="text-justify">blah blah blah blah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blah </p>
                <h3 class="text-center">blah blah blah</h3>
            </div>
            </div>
    </section>
Run Code Online (Sandbox Code Playgroud)

Mic*_*l_B 6

您的 flex 容器没有额外的高度。唯一的高度是内容的高度。因此,没有垂直居中的空间。

第一步,添加一些高度:

.row-centered {  
  display: flex;
  height: 100vh;
}
Run Code Online (Sandbox Code Playgroud)

第二步,删除不必要的规则,其中一些会阻止垂直对齐。

.col-centered {
    display: flex;
    flex-direction: column;
   /* align-self: flex-start;
    float: none;
    margin-right: 0 auto; */
}
Run Code Online (Sandbox Code Playgroud)

.row-centered {  
  display: flex;
  height: 100vh;
}
Run Code Online (Sandbox Code Playgroud)
.col-centered {
    display: flex;
    flex-direction: column;
   /* align-self: flex-start;
    float: none;
    margin-right: 0 auto; */
}
Run Code Online (Sandbox Code Playgroud)