我有崩溃div的问题。 当我添加一些文本时,它会从父div中折叠。 这是HTML代码
.container {
width:80%;
height:50%;
background-color:#eee;
padding: 30px
}
html,body {
height:100%;
}
.chart {
background: red;
width: 30px;
margin-right: 10px;
display: inline-block;
}
<div class="container">
<div class="chart" style="height: 10%"></div>
<div class="chart" style="height: 20%"></div>
<div class="chart" style="height: 70%">test</div>
<div class="chart" style="height: 100%"></div>
</div>
答案 0 :(得分:3)
使用vertical-align: bottom;
.chart {
background: red;
width: 20px;
margin-right: 10px;
display: inline-block;
vertical-align: bottom;
}
答案 1 :(得分:1)
你可能意识到在你的例子中,列的位置依赖于最高的列, 在你的情况下,它是最后一个,
如果我必须在这样的情况下绘制一些列,我会去flex:
.container {
width:80%;
height:50%;
background-color:#eee;
padding: 30px;
display: flex;
align-items: flex-end;
}
html,body {
height:100%;
}
.chart {
background: red;
flex: 0 0 30px;
margin-right: 10px;
display: inline-block;
}
<div class="container">
<div class="chart" style="height: 10%"></div>
<div class="chart" style="height: 20%"></div>
<div class="chart" style="height: 70%">test</div>
<div class="chart" style="height: 100%"></div>
</div>
说检查浏览器支持。
答案 2 :(得分:1)
最好的解决方案是使用vertical-align
,因为@FelixAJ说。问题主要是由于导致内部文本的溢出。使用vertical-align
覆盖此默认行为。另外,我建议您使用min-width
而不是width
来避免溢出。使用这种方法,条形的宽度将根据内部文本而增长。