jQuery,切换div,CSS间距问题
我有这个标记:
content content
通过jQuery,我正在做一个.slideToggle来显示/隐藏顶部div。
我希望在两个div之间始终有10px空间,无论是折叠还是扩展。
然而,当顶部div向下滑动时,行为仍然保持10px余量,但是一旦顶部div完成滑动,10px边距消失。 这或许似乎是一个利润率崩溃的问题。
我想出的解决方案是这样的:
content content
  是关键因为需要在div中内容来“分离”两者并保留10px的保证金。
我尝试了.clearfix:after方法,但是在这种情况下不起作用,所以这可能是一个以jQuery为中心的问题。 有没有人碰到这个并找到比额外div更优雅的解决方案?
信不信由你,你只需要在父容器的顶部添加1px
填充。 问题是,在slideToggle
结束时,第一个div
被设置为display:none
,这会导致第二个div对父进行轻击。 现在,它只是一个CSS错误。 如果父项上没有设置padding
,则子项边距将超出父项,并将两个项都向下推。 通过向父元素应用1px
边距,可以强制margin
保留在元素内:
content content
显然,您希望删除所有这些内联样式,并根据需要使用单独的样式表和id / classes。
如果你需要抵消额外的填充(取决于你的布局),你可能只能使用它:
{ margin-top: -1px; padding-top: 1px }
有点奇怪的解决方法,但您可以为第二个div设置以下规则:
{ position:relative; top:10px; }
在线演示: http : //jsbin.com/enala/edit
我也鼓励你考虑道格的答案 。 如果在父容器上设置填充会产生不希望的结果,则可以选择使用此解决方案。