Bootstrap 4垂直对齐中心不在flex布局上工作

时间:2017-12-02 18:35:34

标签: css twitter-bootstrap css3 flexbox bootstrap-4

使用Bootstrap 4,我有一个响应式布局,有3列,(应该)改变不同屏幕尺寸的顺序,宽度和水平对齐。除了屏幕尺寸< 768px上的imgs的水平中心对齐不起作用外,一切正常。这是我的代码:



.icon-xl-large {
  width: 80px;
}

.w-400px {
  max-width: 400px;
}

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" rel="stylesheet"/>

<div class="row justify-content-center justify-content-md-between">
  <div class="order-md-1 col-6 col-md-auto align-self-center">
    <img src="http://via.placeholder.com/350x350" alt="" class="icon-xl-large mx-auto" >
  </div>
  <div class="order-md-3 col-6 col-md-auto align-self-center">
    <img src="http://via.placeholder.com/350x350" alt="" class="icon-xl-large mx-auto" >
  </div>
  <div class="col-12 order-md-2 col-md-6 w-400px text-center">
    <h5>Sample text in center</h5>
  </div>
</div>
&#13;
&#13;
&#13;

在我的示例代码中,2列中的imgs都左对齐。预期的行为应该是两个imgs在它们各自的列中垂直对齐。在屏幕大小&gt; 768px上,imgs的列自动向左和向右浮动(col-md-auto)。这是预期的,不应该改变。

如何在屏幕大小&lt; 768px中将img置于其列中心?

我找到了类似的问题,例如Vertical Align Center in Bootstrap 4,并尝试了各种建议的解决方案,例如使用d-flex设置mx-auto,justify-content-center,设置固定宽度等。似乎没有什么对我有用。我错过了什么?

2 个答案:

答案 0 :(得分:1)

你可以给包含图像的div:text-align:center。 例如:

@media (max-width: 768px) {
    .col-6.col-md-auto.align-self-center {
        text-align:center;
    }
}

答案 1 :(得分:1)

要使.mx-auto生效,您需要.d-blockAligning images

<img src="http://via.placeholder.com/350x350" alt="" class="icon-xl-large mx-auto d-block">