block2
デフォルトではブロックレベルの要素として表示されます。つまり、1行全体を占めます。
必ずしも;float:left
の右側に表示される必要はありません。、またはblock1
を介してインラインレベル要素として表示される場合は、兄弟の横に表示されます。display:inline
display:inline-block
http://jsfiddle.net/8GF4B/1/
それをさらに詳しく説明するために、代わりに設定float:left
したと想像してみましょう。block2
.block1 {
width:100px;
border:1px solid;
}
.block2 {
width:100px;
border:1px solid;
float: left;
}
最初に発生するのは、block2が通常配置される場所に配置されることです。どこを見つけましょう。
- block1はブロックレベルの要素として表示されます
- ブロックレベルの要素は、要素の前後の両方で改行があったかのようにレンダリングされます
- したがって、block2はデフォルトで2行目に表示されます
これで、block2は通常のフローから外され、可能な限り左にシフトされます...しかし、すでに左端にあります。これにより、block2がblock1の下に表示されます。
インライン要素とブロックレベル要素の違いについての適切な説明については、https ://developer.mozilla.org/en-US/docs/HTML/Block-level_elementsをご覧ください。