flex-basis值优先级比width高这时候怎么不灵了?

发布于 2022-09-30 23:07:15 字数 1337 浏览 47 评论 0

刚学flex的内容,争取把每个属性的属性值渲染结果总结下来,到flex-basis弹性基准属性取值width类型值的时候,有个问题想几个小时想不通,flex-basis值优先级比width高,当指定flex-basis为0的时候,flex子项如果没有内容那真的为0,如果有内容,宽度为内容宽度计算值,这个是不是最小尺寸取最小内容尺寸呢?如果是下面代码怎么谷歌渲染结果还是width:100px

body{
    font-size: 32px;
}
.outer{
     width: 800px;
     height: 500px;
     padding: 50px;
     margin: 100px auto;
     border: 50px solid #F6F6F6;
}
.wrap{
     width: 800px;
     height: 500px;
     display: flex;
     border: 1px solid black;
}
.wrap div{
     height: 150px;
}
.wrap div:nth-child(1){
     width: 100px;
     flex-basis: 0;
     background: linear-gradient(90deg, #ee9ca7,#ffdde1);
}
.wrap div:nth-child(2){
     width: 200px;
     background: linear-gradient(90deg, #9EFBD3,#57E9F2);
}
.wrap div:nth-child(3){
     width: 200px;
     background: linear-gradient(90deg, #accbee,#e7f0fd);
}
<div class="outer">
    <main class="wrap">
         <div>
             <span>div1</span>
             <span>english</span>
         </div>
         <div>div2</div>
         <div>div3</div>
     </main>
</div>

我以为会是english单词的长度(109.89px),结果是100px

弹性布局中flex子项最终的尺寸到底怎么计算的,什么盒模型、基础尺寸、弹性基准、弹性伸展、弹性收缩、最大最小尺寸、最大最小内容尺寸,感觉一头乱麻,渲染表现很复杂,真不是用几个主轴方向主轴交叉轴对齐属性就学会了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼中杀气 2022-10-07 23:07:15

可以参考张鑫旭的这篇文章,比较深入

https://www.zhangxinxu.com/wo...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文