当容器div的大小已知时,很容易使两个div重叠,但如果div高度不能怎么办?
我试图在不操纵容器高度的情况下这样做:
http://jsfiddle.net/AJfAV/
但是#text2
过了#text3
并且没有“推”它。
如何自动调整#container
的大小?
我设法使用jquery ui实现我的目标,但我觉得这不是一个优雅的解决方案: http://jsfiddle.net/AJfAV/6/
答案 0 :(得分:2)
这是你需要的吗?
<强> Updated fiddle: 强>
我正在使用jQuery将height
设置为默认值auto
,如下所示:
$("#container").css("height", "auto");
您还可以在CSS中设置:height: auto;
。
答案 1 :(得分:0)
你需要职位:绝对吗?如果您不想进行任何排列,则可以使用绝对定位。绝对定位完全取决于元素流的元素。他们一无所知。
您可以使用浮动和技术来包围浮动。我用的是明确的:
.cl-left {
clear: left;
height: .1px;
font-size: 0;
line-height: 0;
}
不要忘记添加<div class="cl-left"> </div>
。
此外,使用负边距。因此,#text2被钉在右边。
答案 2 :(得分:0)
如果您删除了#text1
和#text2
的绝对定位,则可以解决此问题。
并#text2
重叠#text1
,同时为float:left
设置margin-left:-30px
和设置#text2
。
现在让我们测试一下:http://jsfiddle.net/RPe4H/
现在的问题是当#text1
被切换时,#text2
将浮动到#container
的左上角,这是因为当切换时JQuery在元素上设置display:none
是完成。
现在要解决这个问题,将#text1和#text2放在宽度相同的容器中,因此当#text
设置为display:none
时,min-height:1px
不会影响流量,同时你必须设置{{1}在#text1
的容器上。
现在它按预期工作http://jsfiddle.net/MyyF6/1/