Html Flex内容不适合父内容的高度
我有以下布局,它是一个包装器(内容),其中包含一些其他div,这些div还具有一些flex属性 从下面的链接中可以看到,内容中的div现在随着内容的大小而增大Html Flex内容不适合父内容的高度,html,css,flexbox,Html,Css,Flexbox,我有以下布局,它是一个包装器(内容),其中包含一些其他div,这些div还具有一些flex属性 从下面的链接中可以看到,内容中的div现在随着内容的大小而增大 .content{ 宽度:100%; 高度:400px; 显示器:flex; 溢出:自动; 背景颜色:蓝色; } .a{ 宽度:165px; 身高:100%; 柔性生长:1; 背景色:红色; } .b{ 宽度:65px; 显示器:flex; 填充顶部:20px; 垫底:20px; 证明内容:中心; 背景颜色:黄色; 身高:100%; }
.content{
宽度:100%;
高度:400px;
显示器:flex;
溢出:自动;
背景颜色:蓝色;
}
.a{
宽度:165px;
身高:100%;
柔性生长:1;
背景色:红色;
}
.b{
宽度:65px;
显示器:flex;
填充顶部:20px;
垫底:20px;
证明内容:中心;
背景颜色:黄色;
身高:100%;
}
c{
宽度:165px;
柔性生长:1;
右边距:15px;
背景颜色:绿色;
身高:100%;
}
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它有
不仅存活了五个世纪,而且飞跃到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着桌面出版而流行
Aldus PageMaker等软件,包括Lorem Ipsum版本。Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪一台未知的打印机使用Lorem Ipsum以来,Lorem Ipsum一直是业界的标准虚拟文本
一个铅字的厨房,把它翻成一本铅字样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着Letraset床单的发行而流行起来
包含Lorem Ipsum文章,最近使用的是Aldus PageMaker等桌面发布软件,包括Lorem Ipsum版本。
s
C
您的.a
溢出到.content
中,这就是您看到底部显示蓝色部分的原因
通过给.a
或者更确切地说,所有子div
自动溢出,它们将跟随父级的高度,避免内容溢出
不过,它会引入一个滚动条。如果您对隐藏溢出的文本感到满意,可以使用overflow:hidden
.content{
宽度:100%;
高度:400px;
显示器:flex;
溢出:自动;
背景颜色:蓝色;
}
.content>div{
溢出:自动;
}
.a{
宽度:165px;
身高:100%;
柔性生长:1;
背景色:红色;
}
.b{
宽度:65px;
填充顶部:20px;
垫底:20px;
背景颜色:黄色;
}
c{
宽度:165px;
右边距:15px;
柔性生长:1;
背景颜色:绿色;
身高:100%;
}
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它有
不仅存活了五个世纪,而且飞跃到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着桌面出版而流行
Aldus PageMaker等软件,包括Lorem Ipsum版本。Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪一台未知的打印机使用Lorem Ipsum以来,Lorem Ipsum一直是业界的标准虚拟文本
一个铅字的厨房,把它翻成一本铅字样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着Letraset床单的发行而流行起来
包含Lorem Ipsum文章,最近使用的是Aldus PageMaker等桌面发布软件,包括Lorem Ipsum版本。
s
C
您可以尝试:
flex: 1 1 auto
它的大小取决于宽度/高度属性
退房
编辑
移除flex grow:1,它将是您需要的高度
.content {
width: 100%;
height: 400px;
overflow: auto;
background-color: blue;
}
.inner{
display: flex;
}
.a {
width: 165px;
background-color: red;
}
.b {
width: 65px;
display: flex;
padding-top: 20px;
padding-bottom: 20px;
justify-content: center;
background-color: yellow;
}
.c {
width: 165px;
margin-right: 15px;
background-color: green;
}
我认为解决你问题的最好办法是
- 移动
从溢出:自动
类到它的子类.content
- 改变
高度:400px代码>至<代码>最小高度:400px代码>如果容器大于400px没有问题李>
- 添加高度为400px的包装器
代码>和div
溢出:自动对
进行编码>并从.content
中删除这两条规则(imo是最佳选择).content
- 添加高度为400px的包装器
显示:flex
和高度:100%
,然后将元素包装在div中并给它一个显示flex
工作代码:
.content{
宽度:100%;
高度:400px;
溢出:自动;
背景颜色:蓝色;
}
.内部{
显示器:flex;
}
.a{
宽度:165px;
柔性生长:1;
背景色:红色;
}
.b{
宽度:65px;
显示器:flex;
填充顶部:20px;
垫底:20px;
证明内容:中心;
背景颜色:黄色;
}
c{
宽度:165px;
柔性生长:1;
右边距:15px;
背景颜色:绿色;
}
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它有
不仅存活了五个世纪,而且飞跃到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着桌面出版而流行
像Aldus PageMak这样的软件