我使用的是引导行,并为它提供了更多应该具有的跨度子项,因为我发现这有助于保持良好的网格工作状态,同时保持响应速度。
每个元素都有一个子元素,以及一个使用jQuery显示的元素,如下所示:
<div class="row">
<div class="span2">
<div class="inner-element">
Content here
<div class="hidden-element">
More content here
</div>
</div>
</div>
...
</div>
单击
.span2
内的某个按钮时,.hidden-element
div随slideDown();
增大,并且内部元素获得position:absolute
CSS,以便它越过下面的范围并且不会改变网格。当此设置在不在页面最右角(在
.row
角上)的.span2元素中完成时,此设置可以很好地工作您可以在此jsFiddle示例中看到此问题。您会看到单击“ Example#1”可以正常工作,不会折叠父元素,而单击“ Example#2”会使
.span2
元素折叠,使下一个.span2
元素向上跳一行。这是什么原因造成的,我该如何解决?
最佳答案
显然问题出在.span2
元素的height
属性崩溃。动画之前通过JavaScript综合设置高度可以达到目的,如this jsFiddle example所示。因此,制作动画的正确方法是:
var box = item.closest('.span2');
打开时:
box.css("height", box.height()+"px");
收盘价:
box.css("height", "auto");
这将迫使父元素具有固定的高度并且不塌陷。