我有这样的div:
<div class="box">
<div id="myid" style="display:hidden;"> <p>some stuff here</p></div>
</div>
当我在上面的 html 上执行 $("myid").slideToggle("slow");
时(div "myid"被隐藏),如果 的内容比框有更大的高度,我的内容从“box”类的底部溢出,奇怪的是这不会发生在其他浏览器上,但 IE8
我该如何解决这个问题,以便当“myid”开始显示内容时,.box 的高度会自行调整大小以适应内部 div。
我的盒子的 CSS:
.box {
background:#fff;
-moz-border-radius: 10px;
-webkit-border-radius:10px;
border-radius: 10px;
border:1px solid #fff;
margin-bottom:10px;
padding:0;
}
最佳答案
display:hidden;
不是您想要的。尝试设置 display:none;
。
主要问题是你希望盒子有一个最小高度,对吧?但它应该变大以适应内部 div?您基本上必须避免在盒子上设置明确的高度。您可以使用 min-height
但它在 IE 中不受支持。我会使用具有明确高度的#myid 的同级来使框保持在最小高度。例如,它可以是 1px 宽,但 50px 高(最小高度为 50px)。您需要 float 内部 div。
这是一个演示:http://www.jsfiddle.net/ZKkB3/
主要限制是您在左侧有一点间距。我想你可以用负边距来解决这个问题。
关于jquery - IE 8 和 jquery 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587679/