静的ブロック要素が浮動要素の後に続く場合、それはそれに利用可能な残りのスペースを埋めます。
したがって、たとえば.right
、幅は80%になります。
.left {
background-color: red;
float: left;
width: 20%;
}
.right {
background-color: blue;
}
ただし、position: relative
float要素に続くブロック要素の場合、float要素は無視されているように見え、相対要素の幅は100%になります。
.left {
background-color: red;
float: left;
width: 20%;
}
.right {
background-color: blue;
position: relative;
}
W3Cによると、「ボックスが通常の流れに従って配置されたり、浮いたりすると、この位置に対してシフトする可能性があります」(出典)
left
では、要素のorまたは位置を変更しない場合right
、通常のフローにとどまるのではなく、親要素の左端に設定されるのはなぜですか?