2

私はこれをどこから得たのか完全にはわかりませんが、いくつかのフロート要素の後に明確なdivがある場合は、原則として次のようにします。

<div class='clear'></div>

次に、CSSで

.clear{ clear:both; width 100% }

ほとんどの場合、これは開発者としての長年の経験、つまり今日までのことです。

今日、100%幅のビットがIE7のレイアウトを壊し、幅を削除して修正したことがわかりました。

私の質問は単純なものです:明確なdivに幅が必要な理由はありますか?

4

2 に答える 2

3

追加のHTML要素を必要としないfloat要素の後にクリアするためのより良い方法があります。原則として、HTMLを可能な限り直感的でセマンティックに保ち、すべてのデザインと視覚的な補助をCSSに任せたいと考えています。

次のHTMLがある場合:

<div class="container">
    <div class="floated-left"></div>
    <div class="floated-right">
</div></div>
<div class="some-non-floating-content"></div>

CSS:

overflow approach:
.container {
    overflow: auto;
    width: 100%;
}
:after approach:
.container:after {
    content: '';
    display: block;
    height: 0;
    clear: both; 
}

これらのよりセマンティックなアプローチの詳細については、http://css-tricks.com/all-about-floats/およびここhttp://www.positioniseverything.net/easyclearing.htmlsを参照してください。

幅についてのあなたの特定の質問に答えるために、私は、コンテナが崩壊しないことを確実にするためにオーバーフローが適用されるときにそれが必要であることを知っています。

于 2013-01-25T13:39:17.540 に答える
0

IEの余分なスペースを避けるために、私は常にclear: both、または左/右のみを使用しました()。

したがって、常に私のために働いていれば、すべてのブラウザで、AFAIKには一般的な理由はありませんwidth: 100%

于 2013-01-25T13:22:04.203 に答える