Bootstrap垂直对齐列内容与移动优化

时间:2015-09-18 00:31:14

标签: html css twitter-bootstrap

我正在使用最新的Bootstrap网格系统在移动优化网站上工作。我希望在md和lg中彼此相邻的两列,但在xs和sm中垂直堆叠。为了正确布局,如果堆叠时订单需要不同,我也会左右浮动。最后,我想垂直居中每列内容。

除了bootstrap之外,这是我的CSS:

.left {
    float: left;
}
.right {
    float: right;
}
@media (min-width: 992px) {
    .vertical-container-md {
        position: relative;
    }
    .vertical-center-md {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .right.vertical-center-md {
        left: 50%;
    }
}

这是我的HTML:

<section class="container">
    <div class="row vertical-container-md">
        <div class="col-xs-12 col-sm-12 col-md-6 left vertical-center-md">
            <h1>Little Content</h1>
            <p>1234567890</p>
        </div>

        <div class="col-xs-12 col-sm-12 col-md-6 right">
            <h1>Lots of Content</h1>
            <p>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz</p>
            <h2>Sub Title</h2>
            <input type="submit" value="Button" />
        </div>
    </div>
</section>

如果标记为vertical-center-md的列始终是最小的,则效果很好。但是,我有一些情况,其中一列具有可以更大或更小的响应图像。所以要解决这个问题,我只需将vertical-center-md添加到两列中。应该工作吗?不。

当两列都使用垂直居中的这种实现时,行div将失去其自动高度,并且列div将转换为该行上方的50%。

问题:如何使用引导网格系统实现响应列内容的垂直居中?

1 个答案:

答案 0 :(得分:0)

谢谢来自vertical-align with Bootstrap 3的zessx。我很高兴在坚持使用纯CSS时远离浮动,定位和转换。

.border {
    border: 1px solid black;
}
.vertical-middle {
    display: inline-block;
    vertical-align: middle;
    float: none;
}

请记住在内联块元素之间注释空格!

<section class="container">
    <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-6 col-md-push-6 border vertical-middle">
            <h1>Little Content</h1>
            <p>1234567890 1234567890 1234567890</p>
        </div><!--

     --><div class="col-xs-12 col-sm-12 col-md-6 col-md-pull-6 border vertical-middle">
            <h1>Lots of Content</h1>
            <p>abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz</p>
            <h2>Sub Title</h2>
            <input type="submit" value="Button" />
        </div>
    </div>
</section>

似乎每个人对Boostrap网格系统抱有同样的抱怨,希望他们在v4中修复它。