flex盒子模型的grow部分子元素宽高不能用百分比

广告位招租
扫码页面底部二维码联系

在使用flex盒子模型一段时间之后,发现【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。这货的坑真是不少,其中最最让人难理解的,【本文受版权保护】【版权所有,侵权必究】就是它的flex-grow部分的子元素无【本文受版权保护】本文版权归作者所有,未经授权不得转载。法使用100%的对应尺寸。下面来举个例子【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】

【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。
<div style="display: flex; width: 300px; height: 200px;">
  <div style="width: 100px;"></div>
  <div style="flex-grow: 1">
  <div style="width: 100%; height: 100%; overflow: auto;"></div>
  </div>
</div>

上面的代码,我们希望创建一个盒子,盒子左【本文首发于唐霜的博客】【本文首发于唐霜的博客】边有一个固定100px宽度的div,右边原创内容,盗版必究。【转载请注明来源】说一个填满剩余空间的弹性伸缩div。而在本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net这个弹性伸缩的div内部,我们希望放一个【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】塞满整个区域的容器,容器设置了overf【原创内容,转载请注明出处】原创内容,盗版必究。low: auto,因此,当这个容器内的【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。内容超出可视区域时,会出现滚动条。

【版权所有,侵权必究】【本文首发于唐霜的博客】【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】

然而,事情没有想像的那么容易,上面的wi【作者:唐霜】本文作者:唐霜,转载请注明出处。dth: 100%并不会按我们想象的方式原创内容,盗版必究。转载请注明出处:www.tangshuang.net,使用它的父元素的宽度,而是会使用300【未经授权禁止转载】【作者:唐霜】px。

本文版权归作者所有,未经授权不得转载。【作者:唐霜】【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshuang.net

这是因为,再css标准里面,width/【原创不易,请尊重版权】著作权归作者所有,禁止商业用途转载。height如果是百分比的话,必须为它的转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。parent提供一个确定的width/h转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】eight,当然,parent的widt转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。h/height也可以从再上一层继承。而【作者:唐霜】【转载请注明来源】如果上面这个条件不成立的话,parent本文作者:唐霜,转载请注明出处。原创内容,盗版必究。会继续向上冒泡,直到找到一个确定的对应宽本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】高为止。

本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】【作者:唐霜】【原创内容,转载请注明出处】

不幸的是,flex的flex-grow是【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】不确定的,因此,这里的width: 10【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。0%不能按我们想象的方式展现。

【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。

如何解决这个问题呢?那就是再在flex-转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.netgrow元素的内部使用flex布局,它自【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。己是弹性伸缩的,而你可以使它的内部元素也【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】是弹性伸缩的:

转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】未经授权,禁止复制转载。
<div style="display: flex; width: 300px; height: 200px;">
  <div style="width: 100px;"></div>
  <div style="flex-grow: 1; display: flex;">
  <div style="flex-grow: 1; height: 100%; overflow: auto;"></div>
  </div>
</div>

这样修改之后,就可以达到我们的目的。【原创不易,请尊重版权】

【原创内容,转载请注明出处】【转载请注明来源】【版权所有,侵权必究】原创内容,盗版必究。

通过这个问题的分析,基本就掌握了flex原创内容,盗版必究。【转载请注明来源】里面的精髓。“弹性”代表着没有固定宽度,【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】而想要占满弹性容器,就必须在该容器本身实未经授权,禁止复制转载。【关注微信公众号:wwwtangshuangnet】现一个新的弹性盒子模型。

【转载请注明来源】本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net【转载请注明来源】