1

我需要float:left为所有第一级子级设置,但是在添加此样式元素后,添加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它实际上只适用/适用于无论如何都是“盒子”元素的元素(根据规范)。我还没有进行详尽的经验测试来查看浮动 a<span><em>元素是否会做任何事情。

于 2013-01-11T23:29:54.487 回答