在加载jquery之后,我无法将图像置于div中
我用jquery动态加载图像,似乎无法将它们放在div中。 我的HTML看起来像这样:
jQuery调用如下所示:
$("#current_photo").attr('src', img_url); //$('#current_photo').css({'margin-right':'auto','margin-left':'auto'});
我假设我需要在图像加载后应用CSS但这似乎也不起作用。
无论我尝试什么,图像总是左对齐。 知道会发生什么吗?
添加“text-align:center;” 到你的包含div。 也不需要汽车保证金。
如果你想在js中执行它,请在加载img后尝试使用此函数。
setToCenterOfParent($("#current_photo"), $("#current_photo").parent()); function setToCenterOfParent( obj, parentObj ) { var height = $( obj ).height(); var width = $( obj ).width(); if ( parentObj == window ) { $( obj ).css( 'top', ( $( parentObj ).height() / 2 ) - ( height / 2 ) ); $( obj ).css( 'left', ( $( parentObj ).width() / 2 ) - ( width / 2 ) ); } else { $( obj ).css( 'top', ( $( parentObj ).height() / 2 ) - ( height / 2 ) + $( parentObj ).position().top ); $( obj ).css( 'left', ( $( parentObj ).width() / 2 ) - ( width / 2 ) + $( parentObj ).position().left ); } }
您可以通过将此样式添加到img
来使其工作:
display: block;
演示: http : //jsfiddle.net/Zsq8Q/3/
您动态设置src
的事实不是问题,默认情况下img
元素不是块元素,因此除非您将其设置为块,否则边距设置不起作用。