大家好,我希望有人可以帮我解决这个问题。
我正在使用CSS3Pie在一个盒子上获得圆角,并且在包括IE7在内的所有浏览器中一切正常。但是当你将动画(这次slideToggle
)添加到我的框中的一个元素时,IE7开始就像你没有动作一样position:relative
。元素变大,5000px x 10000px +++。我确信所有元素在需要时都有position:relative
。
之前我已经看过这个错误,我们发现了一个解决方法,其中包括一些针对CSS3Pie文件的JS修复程序,但我再也找不到了。
我很感谢能得到的所有帮助。
由于 吉米
你可以在下面的图片中看到,灰色背景并没有在盒子结束处结束,它只是继续在网站上的其他元素之外。
这是向下滑动的元素的css
#grades .form-content {
margin:0 10px;
padding:10px;
width:93.8%;
background:#fff;
}
这是盒子的css:
.m-pc {position:relative;}
.m-pc .m-c {
position:relative;
padding:38px 21px 10px;
margin-bottom:25px;
border:1px solid #cbcbcb;
border-top:none;
-moz-box-shadow:0 1px 5px #e3e4e3; /* FF3.5+ */
-webkit-box-shadow:0 1px 5px #e3e4e3; /* Saf3.0+, Chrome */
box-shadow:0 1px 5px #e3e4e3; /* Opera 10.5, IE 9.0 */
background:#f6f6f6;
behavior:url(/css/vendor/pie.htc);
}
.m-pc .m-h {
position:relative;
border:1px solid #cbcbcb;
-webkit-border-radius:6px 6px 0 0;
-moz-border-radius:6px 6px 0 0;
border-radius:6px 6px 0 0;
background:#eee;
background:-webkit-gradient(linear, 0 0, 0 bottom, from(#eee), to(#e5e5e5));
background:-webkit-linear-gradient(#eee, #e5e5e5);
background:-moz-linear-gradient(#eee, #e5e5e5);
background:-ms-linear-gradient(#eee, #e5e5e5);
background:-o-linear-gradient(#eee, #e5e5e5);
background:linear-gradient(#eee, #e5e5e5);
-pie-background:linear-gradient(#eee, #e5e5e5);
behavior:url(/css/vendor/pie.htc);
}
答案 0 :(得分:0)
动画开始时可能是双边距问题,你可以发布动画风格吗?
#grades .form-content {
margin:0 10px;
*margin:0 5px;
*zoom:1;
padding:10px;
*padding:5px;
width:93.8%;
background:#fff;
}
问题似乎来自动画风格本身,或者你只是使用slideToggle?
.animate({
'left/right/top/bottom' : ?
});
答案 1 :(得分:0)
我现在找不到这个帖子,但另一张海报的帮助为我解决了类似的问题。向动画添加回调以重新计算位置:
$('.your_div').animate(function () {
if ($.browser.msie) {
$(this).each(function () { $(this).resize(); });
}
});