以下marginfix
に、ブロック レベル要素であり、ブロック レベルone
でtwo
もあるものを示しましたが、これらはフローティングされています。これが、それらがレイアウトの同じ行にあるがどちらもフローティングされていない理由でmarginfix
あり、ブロックレベルの要素は次のように要素の下に配置する必要があります
+--------------------+ +--------------------+
| | | |
+--------------------+ +--------------------+
+--------------------------+
| |
+--------------------------+
しかし、それはこのように機能します
+--------------------+ +--------------------------+ +--------------------+
| | | | | |
+--------------------+ +--------------------------+ +--------------------+
これはHTMLです
<div class="wrap">
<div class="one">one</div>
<div class="two">two</div>
<div class="marginfix">three</div>
</div>
CSS
.wrap{
width: 500px;
background-color: red;
position: relative;
margin: 0 auto;
}
.one{
width: 200px;
float: left;
}
.two{
width: 200px;
float: right;
}
.marginfix{
margin: 0 210px;
}
アップデートノート
marginfix
フローティング要素の残りのスペースが含まれていると言う人もいるかもしれません。もしそうなら、html 要素の順序を変更すると機能しないのはなぜですか。この html は上記の html のようには機能しません
<div class="wrap">
<div class="one">one</div>
<div class="marginfix">three</div>
<div class="two">two</div>
</div>
では、マージン値はどのように機能するのでしょうか?