表示されている問題は、クリア要素が間違った場所にあるために発生します。
CSS を検討してください。
h1 {
margin: 0;
float: left;
background: red;
text-indent: -9999px;
border: 1px dashed cyan;
}
nav {
height: 44px;
margin: 0;
float: right;
background: black;
border: 1px dashed cyan;
}
.group:after {
content:"x";
display:table;
clear:both;
background-color: cyan;
}
h1
左にフロートnav
し、右にフロートすると、p
ブロックにテキスト (フロートではありません) が表示されます。
前に指摘したようにルールをp
追加しない限り、コンテンツは期待どおりに 2 つのフローティング要素をラップします。clear:both
p
clearing 要素は、要素の後nav
に DOM に表示する必要があります。
この例では、ブロックの子であるブロックの後に表示されるコンテンツを生成する に適用.group
します。nav
ul
nav
nav
高さを に設定しauto
、さまざまなブロックの端を表示するためにいくつかの境界線と色を追加すると、問題がより明白になります。
デモを参照してください: http://jsfiddle.net/audetwebdesign/9nGQy/
問題は次のように表示されます。
ブロックx
内に表示されるクリア要素の生成されたコンテンツのスポットをマークするを追加しました。nav