2
次のコードでは、子の(inline-block)
の幅が親の計算された幅の100%に拡大されますが、.child
のheight
が.parent's
計算された高さに拡大しない理由はわかりません。なぜinline-blockは計算された高さの親に展開されませんか?
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.ancestor {
height: 250px;
border: 1px solid green;
}
.parent {
display: block;
padding: 20px;
border: 1px solid #474747;
background-color: #fff;
}
.child {
display: inline-block;
width: 100%;
height: 100%;
background-color: pink;
}
<div class="ancestor">
<div class="parent">
<p class="child">
Lorem ipsum dolor sit amet, consectetur adipisicing.
</p>
</div>
</div>
私はこの行動の背後にあるロジックではなく、解決策を知ることに、より興味を持っています。誰か、plsはこれが起こることを説明することができます。親要素が定義された高さの設定がある場合
おかげ
インフロー要素のパーセンテージの高さは、親の高さに基づいているためです。そして親に定義された高さがないので、 'auto'を計算します。完全な説明については、私の回答を参照してください:[** CSSの 'height'プロパティとパーセント値**の使用(https://stackoverflow.com/a/31728799/3597276)。 –