bootstrap栅格系统中同行div高度不一致的解决方法

使用bootstrap的栅格系统排版,经常会碰到同一行的div高度不一致的情况,例如这样:
bootstrap栅格系统中同行div高度不一致的解决方法_第1张图片
需要4个div高度相同,网上搜索了些方法,自己进行了尝试,下面这个方法是我试成功了的,但多少都有不尽人意的地方,求更好的方法

  • 使用flex布局,优点:显示准确,缺点:兼容性差
.row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}
.row > [class*='col-'] {
    display: flex;
    flex-direction: column;
}

bootstrap栅格系统中同行div高度不一致的解决方法_第2张图片

  • 通过div底部的margin和padding实现,缺点:下边框无法完整显示,建议在无边框情况下使用
.row{
    overflow: hidden;
}

[class*="col-"]{
    margin-bottom: -99999px;
    padding-bottom: 99999px;
}

bootstrap栅格系统中同行div高度不一致的解决方法_第3张图片

  • 在row结束的地方清除浮动,添加
    ,这个最简单,但限制最多,每列的div的背景色要相同,并且不能有边框
<div class="row">
    <div class="col-xs-6 col-md-3" id="col1">
    A
    div>
    <div class="col-xs-6 col-md-3" id="col2">
    B<p>Bp>
    div>
    <div class="col-xs-6 col-md-3" id="col3">
    C
    div>
    <div class="col-xs-6 col-md-3" id="col4">
    D
    div>
    <div class="clearfix">div>
div>

这里写图片描述

当然还有个方法就是使用js来控制各div高度相同,这里就不提了

你可能感兴趣的:(bootstrap栅格系统中同行div高度不一致的解决方法)