我有这段代码:
<div class='mini'>
<div id='wrap_jcrop' class='td_wrap'>
<img id='img2crop' src=''>
</div>
</div>
使用这个CSS:
div.mini {
width: 300px;
height: 200px;
display: table;
}
div.td_wrap {
display: table-cell;
vertical-align: middle;
text-align: center;
}
img2crop的图像源动态加载并使用Jcrop api处理。但是Jcrop对齐左边的图像。
如何将图像对齐div的中心?
答案 0 :(得分:12)
而不是修改jcrop css文件(不推荐,根据插件作者),您可以在初始化Jcrop时将类添加到jcrop-holder元素作为选项:
jQuery(function($) {
$('#jcrop_target').Jcrop({
addClass: 'jcrop-centered'
});
});
在HTML中的img
标记周围添加一个包装,例如
<div class="crop-image-wrapper">
<img id="jcrop_target" src="...." alt="" />
</div>
然后添加一个css样式,例如
.jcrop-centered
{
display: inline-block;
}
.crop-image-wrapper
{
text-align: center;
}
在Chrome浏览器中测试31.0.1650.63米 - 如果在其他浏览器中无效,请告诉我们? (除了&lt; IE8): - )
答案 1 :(得分:4)
设置
.jcrop-holder
{
margin: 0 auto;
}
答案 2 :(得分:0)
尝试 margin:0 auto; , position:relative; , float:left; 。
答案 3 :(得分:0)
唯一对我有用的事情是:
<强> JS:强>
$("#img2crop").attr("src", resp).load(function(){
$("#wrap_jcrop").width(this.width);
$("#wrap_jcrop").height(this.height);
$("#wrap_jcrop").css("position", "absolute");
$("#wrap_jcrop").css("top", ($("#wrap_jcrop").parent().height() - $(this).height())/2 + "px");
$("#wrap_jcrop").css("left", ($("#wrap_jcrop").parent().width() - $(this).width())/2 + "px");
$('#img2crop').Jcrop();
});
<强> CSS:强>
.mini {
position: relative;
}