You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap 3实现行内所有列等高的问题求助

如何让Bootstrap行内的两列高度一致,保证边框和阴影对齐

我有一个包含两列的row,需要让它们高度一致,确保上下边框和box shadow完全对齐。试过多种非JavaScript方案,比如给row添加以下CSS,但没有效果:

.equal {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
}

我的现有CSS代码:

.contact .info  {
  padding: 30px;
  background: #fff;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 40px;
}
.contact .php-email-form {
  padding: 30px;
  background: #fff;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 40px;
}

HTML结构:

<section id="contact" class="contact">
    <div class="container">
        <div class="section-title">
            <h2>CONTACT</h2>     
        </div>

        <div class="row">   

            <div class="col-md-5">
                <div class="info">
                    <div class="email">
                        <i class="bi bi-envelope"></i>
                        <h4>Email:</h4>
                        <p>email</p>
                    </div>
                    <div class="phone">
                        <i class="bi bi-phone"></i>
                        <h4>Telephone:</h4>
                        <p>95 966 0</p>         
                    </div>
                    <div class="address">
                        <i class="bi bi-geo-alt"></i>
                        <h4>Messenger:</h4>
                        <p>address</p>
                    </div>
                    <div class="phone">
                        <i class="bi bi-phone"></i>
                        <h4>Whatsapp:</h4>
                        <p>745 2720</p>
                    </div>
                    <div class="phone">
                        <i class="bi bi-phone"></i>
                        <h4>Telegram:</h4>
                        <p>745 2720</p>
                    </div>
                </div>
            </div>

            <div class="col-md-7">
                <form action="forms/contact.php" method="post" role="form" class="php-email-form">
                    <div class="row">
                        <div class="form-group col-md-6">
                            <label for="name">N</label>
                            <input type="text" name="name" class="form-control" id="name" required>
                        </div>
                        <div class="form-group col-md-6">
                            <label for="name">Email</label>
                            <input type="email" class="form-control" name="email" id="email" required>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group col-md-6">
                            <label for="name">Mobile</label>
                            <input type="text" class="form-control" name="subject" id="subject" required>
                        </div>  
                        <div class="form-group col-md-6">
                            <label for="name">F</label>
                            <input type="text" class="form-control" name="subject" id="subject" required>
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="name">T</label>
                        <input type="text" class="form-control" name="subject" id="subject" required>
                    </div>
                
                    <div class="form-group">
                        <label for="name">U</label>
                        <textarea class="form-control" name="message" rows="6" required></textarea>
                    </div>
                    <div class="err">
                        <div class="processing">Loading</div>
                        <div class="error-message"></div>
                        <div class="sent-message">Your message has been sent.!</div>
                    </div>
                    <div class="text-center"><button type="submit">Send</button></div>
                </form>
            </div> 

        </div>
    </div>
</section>

解决方法

方法1:使用Bootstrap原生flex类

Bootstrap内置了flex布局类,直接给外层row添加d-flex和flex-wrap类即可:

<div class="row d-flex flex-wrap">
  <!-- 你的两列内容 -->
</div>

方法2:自定义CSS强制高度对齐

如果原生类优先级不够,添加以下CSS:

.contact .row {
  display: flex;
  flex-wrap: wrap;
}

.contact .row > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

.contact .info, .contact .php-email-form {
  flex: 1; /* 让内部容器占满列的高度 */
}

原理:将row设为flex容器,列作为flex子项,再让内部的info和php-email-form容器撑满列的高度,实现自动对齐。

方法3:改用Grid布局

若flex方案无效,可尝试Grid布局:

.contact .row {
  display: grid;
  grid-template-columns: 5fr 7fr; /* 对应col-md-5和col-md-7的宽度比例 */
  gap: 15px; /* 可选,设置列间距 */
}

@media (max-width: 768px) {
  .contact .row {
    grid-template-columns: 1fr; /* 移动端自动堆叠 */
  }
}

内容的提问来源于stack exchange,提问作者zoltank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:31:06