【问题标题】:Make columns equal heights使列等高
【发布时间】:2020-10-18 14:14:02
【问题描述】:

我正在处理使用 Bootstrap 3 制作的 2 个专栏。我们目前无法更改为 Bootstrap 4,因为我们的网上商店拥有超过 100.000 种产品。所以这是一个未来的项目,因为我们现在没有时间。因此,使用 Bootstrap 4 解决以下问题的解决方案目前不是一个选项。

目前我正在使用 Bootstrap 3。我在使列的高度相等时遇到了一些问题。右边比左边小。

有没有人知道一个好的解决方案,所以列的高度相同 - 即使视口正在改变?视口何时移动并不重要。

有一个JSFiddle here

.row [class*="col-"] {
    padding-right: 7.5px;
    padding-left: 7.5px;
}

.padding-twocolumn-bg {
    margin-bottom:30px;
}
.business-left-img a img { 
    width: auto; 
    margin:auto 
}
.business-left {
    padding:75px 75px 40px 75px;
}
.classWithPad { 
    margin:8px; 
    padding:10px; 
    background-color: #fff; 
    border:1px solid #ebecf0;
}
<div class="wrapper">
    <!-- Section 7 -->
    <div class="section padding-twocolumn-bg">
        <div class="row">
            <div class="text-center col-md-6 business-left-img">
                <div class="classWithPad">
                    <p class="business-left">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
                    <a><img src="https://placehold.it/150x150" class="img-responsive"></a>
                    <h2>AGA-Tools</h2>
                    <p>Name - Position</p>
                    <a href="tel+4587582106">+45 12 34 56 78</a>
                </div>
            </div>
            <div class="text-center col-md-6">
                <div class="classWithPad">
                    <div class="row">
                        <div class="col-sm-12">
                            <h3 class="sbp-align">Headline</h3>
                            <hr>
                        </div>
                        <div class="col-sm-6">
                            <a href="#">
                                <img src="https://placehold.it/250x150" style="padding:10px;">
                            </a>
                            <h4 class="sbp-align">Subline</h4>
                            <p class="sbp-align">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
                            <hr id="sbp-hr">
                            <a href="#">Ansøg nu</a>
                        </div>
                        <div class="col-sm-6">
                            <img src="https://placehold.it/250x150" style="padding:10px;">
                            <h4 class="sbp-align">Subline</h4>
                            <p class="sbp-align">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
                            <hr id="sbp-hr">
                            <a href="#">Read more</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

【问题讨论】:

    标签: html css twitter-bootstrap twitter-bootstrap-3


    【解决方案1】:

    .row [class*="col-"] {
        padding-right: 7.5px;
        padding-left: 7.5px;
    }
    
    .padding-twocolumn-bg {
        margin-bottom:30px;
    }
    .business-left-img a img { 
        width: auto; 
        margin:auto 
    }
    .business-left {
        padding:75px 75px 40px 75px;
    }
    .classWithPad { 
        margin:8px; 
        padding:10px; 
        background-color: #fff; 
        border:1px solid #ebecf0;
        
        height: 100%;
    }
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
    
    
    <div class="wrapper">
        <!-- Section 7 -->
        <div class="section padding-twocolumn-bg">
            <div class="row">
                <div class="text-center col-md-6 business-left-img">
                    <div class="classWithPad">
                        <p class="business-left">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
                        <a><img src="https://placehold.it/150x150" class="img-responsive"></a>
                        <h2>AGA-Tools</h2>
                        <p>Name - Position</p>
                        <a href="tel+4587582106">+45 12 34 56 78</a>
                    </div>
                </div>
                <div class="text-center col-md-6">
                    <div class="classWithPad">
                        <div class="row">
                            <div class="col-sm-12">
                                <h3 class="sbp-align">Headline</h3>
                                <hr>
                            </div>
                            <div class="col-sm-6">
                                <a href="#">
                                    <img src="https://placehold.it/250x150" style="padding:10px;">
                                </a>
                                <h4 class="sbp-align">Subline</h4>
                                <p class="sbp-align">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
                                <hr id="sbp-hr">
                                <a href="#">Ansøg nu</a>
                            </div>
                            <div class="col-sm-6">
                                <img src="https://placehold.it/250x150" style="padding:10px;">
                                <h4 class="sbp-align">Subline</h4>
                                <p class="sbp-align">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
                                <hr id="sbp-hr">
                                <a href="#">Read more</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    你可以添加

    .classWithPad {
        height: 100%;
    }
    

    .business-left {
      padding: 37px 75px 40px 75px;
    }
    

    您可以通过使用填充和边距以许多不同的方式做到这一点,但我认为hieght: 100% 是正确的做法。

    【讨论】:

    • 非常感谢@Pain 的回答。添加.classWithPad { height: 100%; } 时我看不到任何区别
    • 我添加了一个sn-p检查它。
    • 啊,是的,我可以在小提琴上看到区别,但在我的现场看不到
    • 可能是缓存问题,尝试刷新一下。
    • 尝试添加这个 (#front .padding-twocolumn-bg .row { padding-bottom: 0px }) 并将 padding-bottom: 30px 添加到 .classWithPad
    猜你喜欢
    • 2016-02-22
    • 2011-09-11
    • 2018-07-06
    • 2012-08-25
    • 2011-01-08
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多