次に例を示します。
すべての赤い div が同じであり、height
を持っていることに注意してください。ただしpadding-top:100%;
、A と B のパディング サイズは異なります...そして、親の幅がこの値を変更しているように見えます (Cheight
は親の を変更しますが、そうではないことに注意してください)。パディングを変更しないでください)。
パディングがこのように幅に関連するのはなぜですか?
編集: 歴史的な理由から、また jsfiddle がなくなった場合に備えて、私の例で使用したコードは次のとおりです...
.outer {
background-color: green;
height: 300px;
width: 70px;
float: left;
margin-right: 10px;
}
.middle {
background-color: red;
height: 100px;
width: 50px;
padding-top: 100%;
}
.inner {
background-color: blue;
height: 3px;
width: 100%;
}
<div class='outer'>
<div class='middle'>
A
<div class='inner'>
</div>
</div>
</div>
<div class='outer' style='width:100px'>
<div class='middle'>
B
<div class='inner'>
</div>
</div>
</div>
<div class='outer' style='height:400px'>
<div class='middle'>
C
<div class='inner'>
</div>
</div>
</div>