我尝试淡入一个div(应该)有一个显示内联块 fadeIn方法似乎只假设display = block 有没有办法改变这种行为?
答案 0 :(得分:20)
如果您使用css()
?
$("div").fadeIn().css("display","inline-block");
答案 1 :(得分:19)
从我上面读到的内容的组合来看,这是我得到的最好的:
$(div).css({
opacity: 0,
display: 'inline-block'
}).animate({opacity:1},600);
答案 2 :(得分:6)
我建议在inline-block
元素中添加一个额外的元素图层,然后将其淡化。
<div style='display:inline-block;'>
<div id='fadmein'>....</div>
</div>
$('#fademein').fadeIn();
我知道这是额外的标记,但它可能是解决问题的最实用的解决方案。
另一种方法是使用JQuery的animate()
方法来改变不透明度,而不是使用fadeIn()
。这只会改变opacity
属性;所以display
属性不受影响。
答案 3 :(得分:1)
根据jQuery论坛中的this question,建议的解决方案是将其“显示”属性更改为block
并将其浮动。