【问题标题】:Proportional resize of the dynamically loaded images and centering them vertically and horizontally动态加载图像的比例调整大小并将它们垂直和水平居中
【发布时间】:2012-03-22 05:11:37
【问题描述】:

我有一些动态加载的图像,在代码中设置了宽度和高度。显然,它不会按比例缩放它们。这是我用来动态加载图像的代码:

$(function(){
    $.getJSON("inc/API.php", {command:"top3"}, function(result) {
        for(var i = 0; i<result.length; i++) {
            $("<div id='top3imgContainer'><a href='images/" + result[i].imageFileName + "' rel='shadowbox[top3]' title='" 
                + result[i].imageHeader + "'><img width='220' height='220' src='images/" + result[i].imageFileName + "' id='top3img' /></a></div>").appendTo("#divTop3");
        } Shadowbox.init({
                continuous:true,
                displayCounter:false,
                overlayColor:"#a09e92",
                overlayOpacity:0.8
            });
     });
});

HTML

<div id="divContent">
    <div id="divTop3">
    </div>
</div>

这是CSS

#divContent {
width:860px;
border: 1px solid;
border-color: #dbd9ca;
border-radius: 10px;
-moz-border-radius: 10px;
margin:5px;
margin-top:20px;
margin-bottom:20px;
padding:5px;
clear:both;
margin-bottom:20px;
}

#divTop3 {
width:850;
text-align:center;
position:relative;
}

#top3imgContainer {
width:245px;
height:270px;
background-image:url(../images_ui/frame.png);
background-repeat:no-repeat;
display:inline-block;
margin: 0 15px 0 15px;
}

img#top3img {
border-radius: 10px;
-moz-border-radius: 10px;
margin-left:13px;
margin-right:20px;
margin-top:17px;
}

应用 CSS 后,效果如下: http://i44.tinypic.com/168x7i9.jpg

不完全成比例,也不是真正居中。 所以问题是 - 我如何按比例缩放它们?在那之后 - 我怎样才能将每个图像放在它的 div 中?

谢谢!

【问题讨论】:

    标签: jquery css image-resizing centering


    【解决方案1】:

    我这样做了:http://jsfiddle.net/ydZJk/

    主要变化如下:

    #top3imgContainer {
        width:       100px;
        height:      120px;
        line-height: 120px;
    }
    
    img {
        vertical-align: middle;
        max-width:  100px; /* check in all browsers! */
        max-height: 120px; /* Old IEs won't like it */
    }
    

    【讨论】:

    • 非常感谢您的回复!是的,这几乎成功了!而且我认为我需要大量的 JS 来按比例调整图像大小......再次感谢您! PS。我仍然不允许投票给答案...对不起! :(
    • 很高兴为您提供帮助 :) 您不必为答案投票,只需单击向上/向下箭头下方的空勾。并且真正检查每个浏览器中的解决方案,因为其中一些(希望只有旧的)只是将图像拉伸到最大宽度/高度。
    • 知道了,打勾! :) 再次感谢浏览器的兼容性建议!会调查的!
    猜你喜欢
    • 2015-10-06
    • 2013-03-19
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    相关资源
    最近更新 更多