我對絕對定位的元素設置爲100%高度存在奇怪的問題。在Firefox中,元素的高度變成其父元素的高度(其中有position:relative
),而在Chrome中,元素的高度向下延伸超過其父元素。表格行中絕對定位元素中的垂直對齊在Chrome中獲取不正確的高度
.outer
{
display:table;
height:150px;
width:100%;
position:relative;
background:gray;
}
.left, .right
{
position:absolute;
top:0;
height:100%;
background:yellow;
}
.item
{
display:inline-block;
}
.left
{
left:0;
}
.right
{
right:0;
}
.helper
{
display:inline-block;
height:100%;
vertical-align:middle;
}
.row
{
position:relative;
display:table-row;
background:orange;
height:100%;
}
<div class="outer">
<div class="row">
<div class="left">
<div class="helper"></div>
<div class="item">L</div>
</div>
<div class="right">
<div class="helper"></div>
<div class="item">R</div>
</div>
</div>
<div>
<p>Text in here</p>
</div>
</div>
在Firefox,黃色L和R的div是相同的高度橙色之一。在Chrome中,它們向下擴展並重疊灰色背景div。
編輯:剛剛在IE和Edge測試過,它們和Chrome有相同的行爲。
有趣!我通過用''position:relative;'style'樣式包裝'.row'的內容來解決這個問題。高度:100%;'。 – Zout