在Bootstrap栅格中为每行所有列指定全尺寸类是否符合规范?
Bootstrap栅格类写法优化建议
你当前给列指定全尺寸类的写法不是Bootstrap栅格的常规最佳实践,完全可以大幅简化——核心原因是Bootstrap栅格采用移动优先的响应式设计:小屏幕的类规则会自动继承到更大的屏幕,除非你为更大屏幕指定了新的类。
针对你的布局需求,原类col-12 col-sm-12 col-md-6 col-lg-4 col-xl-3可以直接简化为:col-12 col-md-6 col-lg-4 col-xl-3
简化逻辑说明:
col-12:超小屏(<576px)下占满整行,这个规则会自动应用到sm屏(≥576px),所以col-sm-12完全冗余,可直接删除col-md-6:从md屏(≥768px)开始,每列占6个栅格(一行2列)col-lg-4:lg屏(≥992px)时,每列占4个栅格(一行3列)col-xl-3:xl屏(≥1200px)时,每列占3个栅格(一行4列)
额外注意事项:
- 若某个断点之后布局不需要变化,无需继续写更大屏幕的类。比如如果xl及以上屏幕想保持一行4列的布局,
col-xl-3也可以省略,col-lg-4会自动继承到更大屏幕 - 你的示例代码存在语法错误:最后两个
<div>应该改为</div>,分别闭合row和container容器,否则会导致页面布局混乱 - 不要给循环生成的列设置相同的
id="border"——id必须是页面唯一的,应该改用class,比如class="border"来统一添加边框样式
修正后的示例代码:
<div class="container text-center"> <div class="row"> <div class="col-12 col-md-6 col-lg-4 col-xl-3 border"> <h5>Steven Gerrard</h5> <p>England</p> <p>Liverpool</p> <img src="/images/player1.png"> </div> <!-- 其他球员列将通过forEach循环动态生成 --> </div> </div>
内容的提问来源于stack exchange,提问作者nostrad0muz
相关产品推荐
相关产品推荐

