讲了很多,但我好像没理解清楚

讲了很多,但我好像没理解清楚

这里我只总结出两个知识点,也就是和grid布局不同的地方。1)grid-flex如果row内的col属性div都没有设置数字,那么这些项目就会平分容器 2)如果设置的总数值超过12个,那么就会换行 ,希望这里老师帮我补充一下知识点,我不想再听个8遍10遍了

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕久久 2020-06-17 17:52:14

同学你好,正确的说法是类名“col-几份”就是通过改变flex-basis的值实现的,如下:

http://img1.sycdn.imooc.com//climg/5ee9e7a809d062fd09280251.jpg

祝学习愉快!

好帮手慕久久 2020-06-17 15:51:06

同学你好,没有理解错,是老师理解错了你的意思。老师之前将“grid-flex如果row内的col属性div都没有设置数字”这句话理解成了不使用“col”、“col-”样式,例子中也没有使用“col-”这样的类名。

正确解释如下: grid-flex.css由于使用的是flex布局,默认情况下,类名“col”有样式flex-basis: 0;和flex-grow: 1;,所以只写类名“col”会平分12个格子:

http://img1.sycdn.imooc.com//climg/5ee9cb4709ce1b7309530246.jpg

其中flex-basis相当于给元素设置width,当flex-basis=0时,div的宽度由内容撑开,如下:

http://img1.sycdn.imooc.com//climg/5ee9cb5109d54d9e19360445.jpg

而所有元素设置flex-grow: 1;是等分剩余空间,所以二者结合可以达到平分的效果。

祝学习愉快!


  • 提问者 慕雪9296518 #1
    col类名可以直接更改flex-basis这个属性吗
    2020-06-17 16:02:07
好帮手慕久久 2020-06-17 13:47:15

同学你好,不用把栅格系统想的太过复杂,只要知道它可以将整体划分为固定的份数,常见的是12份,然后通过一些类名可以为子元素分配空间。至于哪种方式实现的栅格系统,不用特别关心,只要会用就行。知识点大概分为以下几个方面:

1. grid-flex如果row内的col属性div都没有设置数字,项目不会平分,会按自己占用的空间排布,如下:

http://img1.sycdn.imooc.com//climg/5ee9adc909ac6f5000000000.jpg

http://img1.sycdn.imooc.com//climg/5ee9adde092ae84909800358.jpg

2. 如果设置的总数值超过12个,会换行,因为一行最多12份。

3. 核心在于使用类名为结构设置占用的份数(占用几份空间)。

a)样式前缀如下:

超小屏: col-

小屏:col-sm-

中屏: col-md-

大屏:col-lg-

超大屏:col-xl-

其中col-1代表元素在超小屏下占用1份,其余类推。

b) 常用类名:

col-xx-份数:

http://img1.sycdn.imooc.com//climg/5ee9adfb093b1d8a12080319.jpg

d-XX-none和d-XX-block:

http://img1.sycdn.imooc.com//climg/5ee9ae0309cabb5607260166.jpg

col-XX-offset-份数:

http://img1.sycdn.imooc.com//climg/5ee9ae0909defa0606470201.jpghttp://img1.sycdn.imooc.com//climg/5ee9ae100954d10007930231.jpg

push推几格,pull拉几格:

http://img1.sycdn.imooc.com//climg/5ee9ae1709ace07d09120237.jpghttp://img1.sycdn.imooc.com//climg/5ee9ae1c095f8afe06590403.jpghttp://img1.sycdn.imooc.com//climg/5ee9ae2109a0a75209390255.jpg

还有“col-order-xx”用来排序,同学可以对应源代码看下什么意思,然后自己将可用的类名总结一下(会用即可)。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

  • 提问者 慕雪9296518 #1
    grid-flex如果row内的col属性div都没有设置数字,项目不会平分,会按自己占用的空间排布,关于这个第一点我清楚听到这位课件老师说的是 <div class="row"> <div class= "col">1</div> <div class= "col">2</div> <div class= "col">3</div> </div>类似这中情况就是平分12个格子啊,难道我理解错了
    2020-06-17 14:40:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师