改变CSS clear属性的行为?

时间:2014-06-13 11:44:22

标签: css clear

我有 2 div,他们已经漂浮到左边。(在左下角)

我为第二个 div:

完成了以下代码
#div2
{
 float:left;
 clear:left;
}

这里clear属性强制第二 div 下去因为div1也浮动到左边。

当设置了clear属性时,是否可以使第二个div 高于div1

由于

编辑(添加屏幕截图):

3 个答案:

答案 0 :(得分:2)

不,这是不可能的,#div2#div1之后,所以无论是垂直还是水平(两者都是浮动的),它都将始终跟随它。

此处唯一的解决方案是在文档中#div2之前移动#div1,无论是在HTML中还是在Javascript中操作它们。

答案 1 :(得分:2)

您描述的是基本的盒子模型行为。 {clear}的definition部分是节点清除 down 。有各种各样的策略(JS,各种定位黑客)可以使订单的顺序与它们在标记中的显示方式不同,但最好的策略是重新排列标记。

答案 2 :(得分:0)

不,这是不可能的,因为之前的答案已经解释过

如果您想切换div,可以试试这个改变display css属性的小提琴

http://jsfiddle.net/S4975/1/

.div2
{
   display: table-header-group;

}
.div1{
  display: table-footer-group;
}

HTML

<div class="div1">A</div>
<div class="div2">B</div>
以这种方式

拥有display: table-header-group的人将在带有显示的元素之前呈现:table-footer-group;

参考this