bootstrap5中网络与flex
来源:10-3 前端登录页面:介绍Boostrap的栅格系统,完成登录页面(作业)

慕粉3946981
2024-09-30
在 bootstrap5.3版本中默认情况下网格系统是基于 flex 实现的。
问题1:什么情况下是网格系统无法解决的布局必须使用 flex 才能实现?
问题2:在网格系统中 .col 类等分 .row 的空间是那几个属性起作用的?
问题3: 在使用 .row 类外层需要包裹一个 .container 容器之类的类名来抵消边距,为什么直接写 .row 类不在外面包裹一个容器类会出现浏览器会出现横向滚动条?
课程8分,代码19行,我个人认为css代码写的有些问题,无须设置 button 宽度为 w-100。flex布局的项目里面交叉轴尺寸默认拉伸至容器尺寸,弹性盒子机制再手动设置反而多此一举
1回答
-
Brian
2024-09-30
问题1:什么情况下是网格系统无法解决的布局必须使用 flex 才能实现?
——比如,不确定数量的动态布局、水平垂直居中、子元素宽度自适应、元素需要按照内容进行空间分配
问题2:在网格系统中 .col 类等分 .row 的空间是那几个属性起作用的?
——col,主要是flex属性,比如col默认就是flex:1 0 0%,代表flex-grow: 1; flex-shrink: 0; flex-basis: 0%; ;而row,就是一个block,其中会有一些padding及margin属性;
问题3: 在使用 .row 类外层需要包裹一个 .container 容器之类的类名来抵消边距,为什么直接写 .row 类不在外面包裹一个容器类会出现浏览器会出现横向滚动条?
——row里面加入负padding的设计这个是bootstrap设计容器、布局的时候的刻意为之。
.row类通过加入负padding来抵消.col类的内padding,让其能正确的排列。加入conatiner包裹也是为了抵消padding差异,否则会出现滚动条。
课程8分,代码19行,我个人认为css代码写的有些问题,无须设置 button 宽度为 w-100。flex布局的项目里面交叉轴尺寸默认拉伸至容器尺寸,弹性盒子机制再手动设置反而多此一举
——按钮默认是inline-block,宽度是根据内容自动适配的,自己可以按照自己的喜好修改样式
052024-09-30
相似问题