Firefoxで、A
幅/高さが固定されたdivB
があり、幅と高さが100%に設定された子divがある場合、他の祖先のB
場合、計算された幅は0になります(したがって表示されません)。A
of B
has display: box
(または適切なベンダープレフィックスバージョン)が設定されています。
HTMLの例:
<div id="a">
<div id="b"></div>
</div>
CSSの例:
#a {
width: 300px;
height: 200px;
background-color: green;
display: -webkit-box;
display: -moz-box;
}
#b {
width: 100%;
height: 100%;
background-color: red;
}
Firefoxでは緑色のボックスが表示されますが、Chromeでは赤色のボックスが表示されます。
これは、この例を表示するためのフィドルです。これは、ネストされたdivの別のレイヤーを持つ別のフィドルであり、問題の要素の直接の親でなくても、これが発生することを示していますdisplay: box
。
width: 100%
Bの宣言で、Bを親と同じサイズにするように強制したいと思います(つまり、Chromeでの動作)。幅が0と計算されるのはなぜですか?