2

我有一组与砌体一起排列的图像。我希望图像能够调整大小,但我希望它们保持相同的顺序。基本上,我希望整个网格保持相同的纵横比。我尝试了流畅的 Masonry 布局选项,它使图像到处跳跃。如果我将容器 div 设置为保持纵横比,则图像会在浏览器调整大小时跳到容器下方。有没有办法用 CSS 做到这一点?

4

1 回答 1

0

为了保持纵横比,你可以使用这个 jQuery 函数:

jQuery.fn.fitToParent = function()
{
    this.each(function()
    {
        var width  = $(this).width();
        var height = $(this).height();
        var parentWidth  = $(this).parent().width();
        var parentHeight = $(this).parent().height();

        if(width/parentWidth < height/parentHeight)
        {
            newWidth  = parentWidth;
            newHeight = newWidth/width*height;
        }
        else
        {
            newHeight = parentHeight;
            newWidth  = newHeight/height*width;
        }
        margin_top  = (parentHeight - newHeight) / 2;
        margin_left = (parentWidth  - newWidth ) / 2;

        $(this).css({'margin-top' :margin_top  + 'px',
                     'margin-left':margin_left + 'px',
                     'height'     :newHeight   + 'px',
                     'width'      :newWidth    + 'px'});
    });
};
于 2012-11-11T18:09:43.070 回答