1

float:leftすべての第1レベルの子に設定する必要がありますが、このスタイル要素を追加した後、追加後display:inline/inline-block/ other not block#rootセレクターを追加した後、display=のデフォルト値がありますdisplay:block。以前に追加された要素に#rootは、標準のデフォルトの表示値があります。

#root > * {
     float:left;
}

<div id="root">
    <div></div>
<div>

var aBefore = document.createElement("a");
var aAfter = document.createElement("a");
var root = document.getElementById("root");

document.body.insertBefore(aBefore,root);
root.appendChild(aAfter);

display(aBefore);
display(aAfter);

function display(element){
    alert(window.getComputedStyle(element).display);
}

例:

http://jsfiddle.net/LpQ5V/1/

4

1 に答える 1

4

要素に値を与えることは、float本質的にを意味しdisplay: blockます。

仕様の運用部分:

この要素は、左側に浮かぶブロックボックスを生成します。

編集— Esailijaは、実際には浮動要素を非表示にすることを正しく指摘していdisplay: noneます:-)

もう一度編集してください—私が上で言ったことはおそらく過度に単純化されたものです。float力になるほどで​​はありませんdisplay: block; それは、要素と同じことを意味する効果を引き起こすということです。 display: blockとにかく「ボックス」要素である要素にのみ適用/機能します(仕様による)。<span>フローティングや<em>要素が何かをするかどうかを確認するための徹底的な経験的テストは行っていません。

于 2013-01-11T23:29:54.487 に答える