有没有其他人经历过下面描述的情景?
为了举例,这是一个非常基本的描述:
#menuHolder
包含菜单项(#itemA
,#itemB
,#itemC
,... #itemZ
)
在CSS中,我将#menuHolder's
溢出设置为隐藏。
使用jQuery,我将#menuHolder
设置为minHeight为0,然后在特定元素被鼠标悬停时将其扩展为maxHeight。
在FF,Safari或Chrome中没有问题......但这是IE中发生的事情:
短暂的时间内,#itemA
,#itemB
,#itemC
,... #itemZ
会在IE中加载页面时显示在彼此之上。然后它们消失并且表现正常。
就好像在页面加载之前无法识别溢出:hidden或minHeight。
有什么想法吗?
由于 乙
答案 0 :(得分:0)
即(如果我没记错的话,至少最多7个)不知道最小高度
解决方案是使用像这样的css
min-height:100px;
height:100px; /* for ie7 */
height:auto !important; /* for all others */
中的一些条件评论技巧来定位ie6 / 7会更好。
答案 1 :(得分:0)
也许你应该在css中使用容器display:none,使用jquery预加载现在不可见容器中使用的任何图像,然后在jquery中使用适当的高度而不是min-和max-当鼠标移除时。
答案 2 :(得分:0)
在某些情况下,这样的事情会起作用:
在页面加载期间不得出现的元素上,将其隐藏在标记中:
<ul id='my_element' style='visibility:hidden'>
然后,在应用jquery效果显示它之前(例如,slideDown()),删除属性并重新隐藏它:
$me = $('#my_element'); // cache it to improve performance
$('#some_other_element').click(function() {
$me('style','visibility:visible').hide();
$me.slideDown(800);
});
有一天IE支持不需要这样的滑稽动作。在那之前,希望这会有所帮助。
答案 3 :(得分:0)
对于一些旧的jQuery数据表(例如,1.6.x)仍然没有完美的解决方案,似乎所有隐藏的列都将简要显示:使用表中的bVisibility:false属性,或设置列动态可见性。 fnSetColumnVis(1,false);
e.g。
是否有人知道这已在较新版本的数据表中得到解决?