我试图将相邻的div's
设置为不同的高度,就像垂直条形图一样。问题是,当我在px中指定div高度时,div's
高度为ok但是当我以不同的百分比指定高度时,则所有相邻的div's
缩小到相同的高度。我为容器div
和条形div's
指定了最小高度,但它仍然不起作用。这是我的代码:
HTML
<div class="barcontainer">
<div id="firstbar" class="bar" style= "height:10%">
</div>
<div id="secondbar" class="bar" style= "height:80%">
</div>
<div id="thirdbar" class="bar" style= "height:50%">
</div>
<div id="fourthbar" class="bar" style= "height:30%">
</div>
</div>
CSS
barscontainer
{
min-height: 300px;
}
.bar{
background: none repeat scroll 0 0 #7EADCB;
border-bottom: medium none;
float: left;
display: inline-block;
margin: 1px;
vertical-align: top;
width: 16px;
min-height: 1px
z-index: 1;
}
请指导我做错了什么。感谢。
答案 0 :(得分:0)
我能看到的一些事情:
答案 1 :(得分:0)
div
缩小,因为barcontainer
高度将是几个像素,除非你clear
浮动并设置barcontainer
的高度 - 百分比现在可以使用正如所料。干杯!
.barcontainer{
height: 300px;
}
.barcontainer:after {
content:'';
display: block;
clear: both;
}
.bar {
background: none repeat scroll 0 0 #7EADCB;
border-bottom: medium none;
float: left;
display: inline-block;
margin: 1px;
vertical-align: top;
width: 16px;
min-height: 1px;
z-index: 1;
}
<div class="barcontainer">
<div id="firstbar" class="bar" style="height:10%">
</div>
<div id="secondbar" class="bar" style="height:80%">
</div>
<div id="thirdbar" class="bar" style="height:50%">
</div>
<div id="fourthbar" class="bar" style="height:30%">
</div>
</div>
<强>更新强>:
@Martin的评论让我思考。在SO本身的另一个thread(感谢@JohanKarlsson),我看到为什么你指定min-height
并且当你给出百分比高度时孩子们不尊重它们:
高度 CSS property说:
百分比
百分比是根据高度来计算的 生成的框包含块。 如果含有的高度 未明确指定块(即,它取决于内容 高度),这个元素并不是绝对定位的值 计算到自动。根元素的百分比高度是相对的 到最初的包含块。
所以看起来(虽然我仍然有些疑惑)这里父级的 height 属性未指定 ,因此值计算为自动 - min-height
覆盖height
,但height
仍未明确指定