就我所知的高度作爲百分比來說,容器元素必須具有特定的高度。但是,這並不適用於祖先相對定位的絕對定位元素。這裏是我的意思工作的例子:爲什麼身高100%適用於絕對定位的元素?
.container {
width: 400px;
background: cyan;
text-align: right;
position: relative;
color: white;
}
.child {
width: 90%;
height: 100%;
background: blue;
}
.absolute {
position: absolute;
}
.second {
margin-top: 30px;
}
<div class="container">
<div class="child absolute">Absolute</div>
one <br> two <br> three <br> one <br> two <br> three <br>
</div>
<div class="container second">
<div class="child">Static</div>
one <br> two <br> three <br> one <br> two <br> three <br>
</div>
正如你所看到的完全置於DIV適用100%的高度上,但不是靜態定位的div。爲什麼?
您的'child'元素,因爲您沒有描述'position',所以默認爲'position:static;'。爲了計算你的'height:100%;',父元素應該定義一個'height',但它不會。在這種情況下,瀏覽器不會修改/計算其子節點的高度(如果它們不是絕對定位的(所以它們會顯示與其內容的大小相匹配)。 'position:absolute;'情況是不同的,因爲它是在父元素被渲染後計算的。 –
https://www.w3.org/TR/CSS22/visudet.html#the-height-property – LGSon