我有一堆嵌套的div(我知道,可能不适合这种用途,但它只是一个临时的解决方案)。我试图让孩子按百分比分成不同的高度,但它不起作用; div只是扩展到适合文本所需的最小高度。
<div class="funnel" style="width:100%; height:600px">
<div class="container-header">
<p class="header"> Funnel Times </p>
</div>
<div class="outer" style="width: 100%; height:600px">
<div class="innercontainer" style="width: 50%; height:600px; float: left">
<center>
<div class="signups-indie inner" style="width: 80%; height: 10%; background-color: #BFCCD5">
<p class="funnelTimesText"> Sign-ups: 8 hours / 2.1% </p>
</div>
<div class="installs-indie inner" style="width: 80%; height: 10%; background-color: #9EB2BE">
<p class="funnelTimesText"> Installs: 2 days / 12.9% </p>
</div>
<div class="action1-indie inner" style="width: 80%; height: 10%; background-color: #4A5A66">
<p class="funnelTimesText"> Action 1: 2.5 days / 16.1% </p>
</div>
<div class="action2-indie inner" style="width: 80%; height: 10%; background-color: #333F47">
<p class="funnelTimesText"> Action 2: 5.2 days / 17.4% </p>
</div>
<div class="conversions-indie inner" style="width: 80%; height: 10%; background-color: #AF212F">
<p class="funnelTimesText"> Conversions: 8 days / 51.5% </p>
</div>
</center>
</div>
<div class="innercontainer" style="width: 50%; height:600px; float: left">
<center>
<div class="signups-team inner" style="width: 80%; height: 1.8%; background-color: #BFCCD5">
<p class="funnelTimesText"> Sign-ups: 10 hours / 1.8% </p>
</div>
<div class="installs-team inner" style="width: 80%; height: 10.9%; background-color: #9EB2BE">
<p class="funnelTimesText"> Installs: 2.5 days / 10.9% </p>
</div>
<div class="action1-team inner" style="width: 80%; height: 8.7%; background-color: #4A5A66">
<p class="funnelTimesText"> Action 1: 2 days / 8.7% </p>
</div>
<div class="action2-team inner" style="width: 80%; height: 13.1%; background-color: #333F47">
<p class="funnelTimesText"> Action 2: 5.2 days / 17.4% </p>
</div>
<div class="conversions-team inner" style="width: 80%; height: 65%; background-color: #AF212F">
<p class="funnelTimesText"> Conversions: 8 days / 51.5% </p>
</div>
</center>
</div>
</div>
</div>
这里也是一个小提琴,在那里你可以看到它不起作用: http://jsfiddle.net/3w08gdmf/
答案 0 :(得分:1)
要使用%height,每个嵌套元素必须明确指定其高度。它的直接父母需要它的高度。如果父级没有指定高度(绝对或相对),则不起作用。
代码中的中心元素没有指定高度。
http://jsfiddle.net/3w08gdmf/2/
.innercontainer center{
height: 100%;
}
答案 1 :(得分:0)
出于好奇,为什么使用严格的HTML而不是CSS来设置标记的样式?如果你这样做,每当你调整任何东西时,你必须手动改变HTML中的所有内容。其次,百分比是父<div>
的百分比,基本上这意味着,如果您<div id="A">
和<div id="B">
嵌套在<div id="A">
中,那么<div id="B">
将是<div id="A">
<div id="A">
<div id="B"></div> <!-- See how B is nested WITHIN A -->
</div>
的百分比。
简而言之:
<强> HTML 强>
#A {
height: 100px; // Set Height
}
#B {
height: 80%;
// This is 80% of the parent DIV "A" which is = to 80px because 80% of 100 is 80
}
<强> CSS 强>
{{1}}
希望这可以解决问题。
编辑HTML以进行澄清和一些标点符号编辑。