絶対配置された要素が100%の高さに設定されていると奇妙な問題が発生します。 Firefoxでは、要素の高さは親の高さ(position:relative
)になりますが、Chromeでは要素の高さは親を超えて下がります。 Firefoxのでテーブル行内の絶対配置要素の垂直方向の配置が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>
、イエローLとRのdivは、オレンジと同じ高さです。クロームでは、下に伸びて灰色の背景divと重なります。
編集:IEとEdgeでテストされ、Chromeと同じ動作をします。ここで
興味深い!私は '.row'の内容をスタイル' position:relative;で区切ってラップすることで取り組みました。高さ:100%; '。 – Zout