我正在使用KnackHQ构建应用程序,KnackHQ是一个在线数据库构建器,允许您生成自定义表单并在嵌入元素上显示内容。表单的每个部分都分为DIV标记,因此css可以独立应用于每个标记。我正在尝试创建一个由左右列中的div包含2列的表单,如下所示:
CSS代码
.left
{
width: 60%;
float: none;
display: block;
clear: left;
}
.right
{
width: 30%;
float: right;
clear: right;
}
所以我想要的,如下左图所示,是我的所有.left divs向左走,所有我的.right divs向右走。相反,我得到你在右边看到的内容。每个班级的第一个div是排队的。然后,所有.right div出现。最后,剩下的.left divs出现了。
所需效果(左)和当前效果(右)
见图片: http://i.stack.imgur.com/1jbrm.png
问题的最大部分是我对HTML没有任何控制权,只有CSS。通常情况下,我会将两列都包装在一个大div中。相反,我需要找到一种没有包装器的方法,因为围绕.left和.right div的唯一div是围绕整个事物的包装器。
问题:
为什么浮动DIV会将多个块元素强制移动到浮动元素的底部? 如何使用浮动元素创建具有不同大小的div的2列?