有个问题??

有个问题??

li{

width:100px;

flex-grow:1;

}

这个li是给所有的li设置样式,因此li:nth-child(1),也就是第一个li也有flex-grow:1;属性,所以第一个li也会参与分配剩余空间?如果没有flex-grow:1;这个属性,是否第一个li就是200px,不管其他li怎么分配
这题目主要考的就是,第一个li有没有也参与瓜分剩余空间?

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

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

2回答
好帮手慕糖 2019-10-10 14:01:39

同学你好,可以这里理解哦。这里整体可以参考如下来理解。

这里总共有4个li,li的宽度是100px,但是因为第一个li设置了

li:nth-child(1){
    flex-basis:200px;
}

1、也就是说flex-basis:200px;会替代li设置的宽度100px,那么,这个时候第一个li的宽度可以理解成是200px

2、其他三个没有设置flex-basis属性的li宽度仍然是100px,那么,四个li的宽度总和是200px+100px*3=500px,

3、而ul的总宽度是1000px,被li占去500px,还剩下500px,这500px,会由父级元素平均分配给四个li,分成4份,每一份是125px。

4、那么,第一个li就是flex-basis设置的200px+自动分配的125px,变成了325px,第二个li、第三个li、第四个li的宽度就会变成原本li设置的100px+自动分配的125px,就变成了225px。

希望能帮助到你,祝学习愉快!

好帮手慕糖 2019-10-09 18:27:49

同学你好,1、是的,第一个li也会参与空间的分配。

2、是的。

3、这题主要考察的是对于flex-basis 属性使用哦。flex-basis这个属性值的作用也就是width的替代品,如果子容器设置了flex-basis或者width,那么在分配空间之前,他们会先跟父容器预约这么多的空间,然后剩下的才是归入到剩余空间。

希望能帮助到你,祝学习愉快!

  • 提问者 慕仰2255090 #1
    照老师你这么说的话,其实设置flex-basis=100px; 和width=100px。除了优先级,其实没有区别啊,都一样是先从父容器减去他们自身的宽度,再进行平分
    2019-10-10 09:51:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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