我正在测试新的Bootstrap 4-alpha.5,现在我正在使用flexbox。
我想垂直居中行中的所有列,但它只适用于第二列 - 为什么?
我尝试了中心 - 行和每一列。
http://codepen.io/vertisan/pen/QGOYwp
<div class="login-page">
<div id="login-container">
<div class="container-fluid">
<div class="row flex-items-md-middle">
<div class="col-md-8 login-container-intro flex-md-middle" style="background: url( http://placehold.it/1280x720/ff0000 );">
<div class="login-content__intro">
<img src="http://placehold.it/500x150" alt="" class="img-fluid mx-auto" />
</div>
</div>
<div class="col-md-4 login-container-sidebar flex-md-middle">
<div class="login-content__sidebar">
<div class="login-form">
<form>
<div class="form-group">
<label class="control-label" for="inputNormal">Normal input</label>
<input type="text" class="form-control" id="inputNormal" placeholder="Placeholder text" />
</div>
<div class="form-group has-warning">
<label class="control-label" for="inputWarning">Warning input</label>
<input type="text" class="form-control" id="inputWarning" placeholder="Placeholder text" />
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
请记住,flex布局仅存在于父元素和子元素之间。父母上方的祖先和子女下方的后代不参与弹性布局。
从您的代码中可以看出,您希望某些元素继承Flex属性,但由于它们超出了 flex格式化上下文的范围,因此只会忽略这些属性。 / p>
在第一列中,容器.login-container-intro
存在于块格式化上下文(display: block
)中。设为display: flex
并添加align-items: center
。
在此处详细了解flex格式上下文的范围:https://stackoverflow.com/a/37844240/3597276