8

我有这个代码:

<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 的中心对齐图像?

4

4 回答 4

12

您可以在初始化 Jcrop 时将类添加到 jcrop-holder 元素作为选项,而不是修改 jcrop css 文件(不推荐,根据插件作者):

jQuery(function($) {
    $('#jcrop_target').Jcrop({
        addClass: 'jcrop-centered'
    });
});

img在 HTML 中的标签周围添加一个包装器,例如

<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 m 中测试 - 如果它在其他浏览器中不起作用,请告诉我?(< IE8 除外):-)

于 2013-12-12T15:01:13.933 回答
4

.jcrop-holder
{
    margin: 0 auto;
}
于 2013-10-25T17:10:56.190 回答
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;
}
于 2015-01-09T14:02:22.380 回答
0

尝试保证金:0自动;位置:相对;浮动:左;.

于 2013-09-01T22:54:44.170 回答