您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flexbox没有给元素相等的宽度

Flexbox没有给元素相等的宽度

链接到的文章中没有提到一个重要的部分,那就是flex-basisflex-basisauto

如果指定的flex-basis是auto,则使用的flex基础是flex项目的main size属性的值。(它本身可以是关键字auto,它会根据其内容来调整弹性项目的大小。)

每个伸缩项目都有一个flex-basis类似于其初始大小的。然后,从那里开始,所有剩余的可用空间将按比例(基于flex- grow)分配在项目之间。使用时auto,该基础是内容大小(或使用定义的大小width等)。因此,示例中总体上包含较大文本的项目将获得更大的空间。

如果希望元素完全均匀,可以设置flex-basis: 0。这会将flex基础设置为0,然后将基于比例分配所有剩余空间(由于所有基础均为0,因此将为所有空间)flex-grow

li {
    flex-grow: 1;
    flex-basis: 0;
    /* ... */
}

规范中的这张图很好地说明了这一点。

其他 2022/1/1 18:14:27 有466人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶