Bootstrap容器内Row无法居中求助(最后一行未居中)
问题:Bootstrap中Row最后一行元素无法居中
尝试使用<div class="row justify-content-center">实现容器内Row的居中效果,但最后一行元素始终无法居中,怀疑是现有CSS样式冲突导致,且无法添加模板中原本不存在的.portfolio类。
问题截图

当前代码片段
CSS代码
.portfolio #portfolio-flters { padding: 0; width: 50%; margin: auto; list-style: center; text-align: center; border-radius: 50px; } .portfolio #portfolio-flters li { cursor: pointer; display: inline-block; padding: 10px 15px; font-size: 15px; font-weight: 500; line-height: 1; text-transform: uppercase; color: #444444; width: 50%; margin: auto; margin-bottom: 5px; transition: all 0.3s ease-in-out; font-family: "Poppins", sans-serif; } .portfolio #portfolio-flters li:hover, .portfolio #portfolio-flters li.filter-active { color: #593d4a; } .portfolio #portfolio-flters li:last-child { margin-right: 0; } .portfolio .portfolio-item { margin-bottom: 30px; } .portfolio .portfolio-item .portfolio-info { opacity: 0; position: absolute; left: 30px; right: 30px; margin: auto; width: 20%; text-align: center; bottom: 0; z-index: 3; transition: all ease-in-out 0.3s; background: rgba(255, 255, 255, 0.9); padding: 15px; } .portfolio .portfolio-item .portfolio-info h4 { font-size: 12px; color: #fff; font-weight: 600; color: #191919; } .portfolio .portfolio-item .portfolio-info p { color: #4c4c4c; font-size: 14px; margin-bottom: 0; } .portfolio .portfolio-item .portfolio-info .preview-link, .portfolio .portfolio-item .portfolio-info .details-link { position: absolute; right: 40px; font-size: 24px; top: calc(50% - 18px); color: #333333; } .portfolio .portfolio-item .portfolio-info .preview-link:hover, .portfolio .portfolio-item .portfolio-info .details-link:hover { color: #593d4a; } .portfolio .portfolio-item .portfolio-info .details-link { right: 10px; } .portfolio .portfolio-item .portfolio-links { opacity: 0; left: 0; right: 0; text-align: center; z-index: 3; position: absolute; transition: all ease-in-out 0.3s; } .portfolio .portfolio-item .portfolio-links a { color: #fff; margin: 0 2px; font-size: 28px; display: inline-block; transition: 0.3s; } .portfolio .portfolio-item .portfolio-links a:hover { color: #593d4a; } .portfolio .portfolio-item:hover .portfolio-info { opacity: 1; bottom: 20px; }
HTML代码
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"> <section id="dataviz/wordclouds" class="portfolio"> <p></p> <div class="container"> <h3>Word Clouds</h3> <div class="portfolio-container" data-aos="fade-up" data-aos-delay="150"> <div class="row justify-content-center"> <div class="col-lg-4 portfolio-item filter-wc"> <img src="https://via.placeholder.com/300x100" class="img-fluid" alt=""> <div class="portfolio-info"> <h4>20 Nov</h4> </div> </div> <div class="col-lg-4 portfolio-item filter-wc"> <img src="https://via.placeholder.com/300x100" class="img-fluid" alt=""> <div class="portfolio-info"> <h4>21 Nov</h4> </div> </div> <div class="col-lg-4 portfolio-item" filter-wc> <img src="https://via.placeholder.com/300x100" class="img-fluid" alt=""> <div class="portfolio-info"> <h4>22 Nov</h4> </div> </div> <div class="col-lg-4 portfolio-item filter-wc"> <img src="https://via.placeholder.com/300x100" class="img-fluid" alt=""> <div class="portfolio-info"> <h4>23 Nov</h4> </div> </div> <div class="col-lg-4 portfolio-item filter-wc"> <img src="https://via.placeholder.com/300x100" class="img-fluid" alt=""> <div class="portfolio-info"> <h4>24 Nov</h4> </div> </div> </div> </div> </section>
解决方案
1. 修复HTML语法错误
第三个portfolio-item的filter-wc未添加class=属性,导致该元素样式异常,影响整体布局对齐。修正后代码:
<div class="col-lg-4 portfolio-item filter-wc"> <img src="https://via.placeholder.com/300x100" class="img-fluid" alt=""> <div class="portfolio-info"> <h4>22 Nov</h4> </div> </div>
2. 强制最后一行元素居中
如果修复语法后仍存在问题,可通过以下两种方式处理:
- 添加自定义CSS:
.row.justify-content-center .col-lg-4:last-child { margin-left: auto; margin-right: auto; }
- 使用Bootstrap内置类:给最后一个元素添加
mx-auto类,利用Bootstrap的margin自动居中特性:
<div class="col-lg-4 portfolio-item filter-wc mx-auto"> <img src="https://via.placeholder.com/300x100" class="img-fluid" alt=""> <div class="portfolio-info"> <h4>24 Nov</h4> </div> </div>
3. 排查容器宽度限制
确认.container未设置额外的宽度限制,确保Row能充分利用容器空间完成居中对齐。
内容的提问来源于stack exchange,提问作者Ashley
相关产品推荐
相关产品推荐

