基于Bootstrap 5实现响应式视口高度自适应布局的问题求助
基于Bootstrap 5实现响应式视口高度自适应布局的问题求助
各位好,我正在尝试用Bootstrap 5搭建一个响应式网站,具体需求如下:
- 在md断点及以上:页面分为两列布局,每列的最后一行要填满视口剩余的所有空间,整个页面不能出现滚动条;
- 在md断点以下:每个行只占用自身内容所需的空间,内容过多时页面可以正常滚动;
- 所有单元格之间需要有均匀的 gutter 间距。
我想做的是类似「便当盒」风格的单页网站,现在的布局在md断点以上基本能跑起来(只是还没处理好gutter),但缩小页面到md断点以下时,单元格3和5的后面会出现奇怪的空白间隙。
我感觉应该是需要正确组合Bootstrap的高度工具类(比如h-100、vh-100)和Flexbox相关工具类,但试了好几种组合都没解决问题。不管是代码修复、还是换一种实现思路,都欢迎大家给我一些建议,非常感谢!
下面是我目前的代码:
<html data-bs-theme="light" lang="en"> <head> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <meta charset="utf-8"> <meta content="initial-scale=1, width=device-width" name="viewport"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script> <title>Test</title> </head> <body class="bg-body"> <div class="container-fluid"> <div class="row vh-100"> <div class="col-12 col-md-6"> <div class="h-100 d-flex flex-column"> <div class="row"> <div class="bg-body-secondary p-4 rounded-4"> 1 </div> </div> <div class="row"> <div class="bg-body-secondary p-4 rounded-4"> 2 </div> </div> <div class="row flex-md-grow-1"> <div class="bg-body-secondary p-4 rounded-4"> 3 </div> </div> </div> </div> <div class="col-12 col-md-6"> <div class="h-100 d-flex flex-column"> <div class="row"> <div class="bg-body-secondary p-4 rounded-4"> 4 </div> </div> <div class="row flex-md-grow-1"> <div class="bg-body-secondary p-4 rounded-4"> 5 </div> </div> </div> </div> </div> </div> </body> </html>
备注:内容来源于stack exchange,提问作者Robert Banks




