4

CSSベースの水平ドロップラインメニューを作成するためのチュートリアルを読んでいて、アンカー要素(<a>)がfloat:leftとdisplay:block

これは何をするのだろうか?なぜなら、display:blockインライン要素に追加すると違いに気付くことができますが、float:leftもう一度追加すると、他に何も追加しないのとほとんど同じです.2つの連続するインライン要素の間の小さなスペースだけが。で消えますfloat:left

つまり、基本的に私が知りたいのは、いくつかのアンカー要素が結果的に次々に配置される場合、次のクラスの違いは何ですか?

a.one {
    display:block;
    float:left; 
}​

a.two {
    float:left; 
}​

a.default { 
}
4

1 に答える 1

5

フロートされた要素は、ボックスモデル(つまり、幅、高さ、マージン)の観点から、block要素(W3C定義を参照)のように自動的に動作します。したがって、ルール1と2は同等です。ほとんどの場合、何かをフローティングして指定することdisplayは冗長です(この場合は誤解を招く可能性があります)。

a要素がinlineデフォルトであるため、ルール3は異なります。

于 2012-07-20T22:03:45.983 に答える