首页 前端知识 css flex 子元素溢出时,父元素被撑开解决方案

css flex 子元素溢出时,父元素被撑开解决方案

2024-07-29 00:07:04 前端知识 前端哥 932 843 我要收藏

当父元素使用flex: 1;自适应填满时,子元素内容溢出,父元素内容撑大,导致页面显示问题,或设置了overflow 为scroll 的元素没出现滚动条等问题

解决方案:

1.如果是横向排列,flex: 1;的元素加上width: 0; 此时会限制自适应的父元素不会溢出。

2.同上,如果是纵向排列,flex: 1;的元素是高度铺满的,那就加上height: 0; 则元素高度自适应的同事,高度不会被撑大。

3.无论多少层子元素,只要不想给限制的宽高,想让元素flex:1;自适应宽高,都一层层给flex为1时的元素 宽或高 为0限制下去。可以用于解决子元素溢出问题。父元素不会撑大后,给想出现scroll的元素这只滚动,则滚动条恢复正常。

.box{
    display: flex;
}

// 没有给宽度的元素
.aside{}

// 宽度自适应的元素
.main{
    width: 0; // 加上这个,该元素会自适应的同时,不会被main的子元素撑大宽度
    flex: 1;
    overflow-x: scroll;  // 由于不会被撑大,所以可以横向滚动
}



/** 或 */

.box{
    display: flex;
    flex-direction: column;

}

// 没有给高度的元素
.top{}

// 高度自适应的元素
.main{
    height: 0;  // 加上这个,该元素会自适应的同时,不会被main的子元素撑出高度
    flex: 1;
    overflow-y: scroll;  // 由于不会被撑高,所以可以竖向滚动
}

转载请注明出处或者链接地址:https://www.qianduange.cn//article/14453.html
标签
评论
发布的文章

Unity数据持久化之Json

2024-08-10 22:08:00

simdjson 高性能JSON解析C 库

2024-08-10 22:08:00

npm常用命令详解(一)

2024-08-10 22:08:34

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!