2016-04-18 136 views
1

我必須在120px×120px的div中顯示用戶的照片圖像。 問題是圖像可能具有不同的尺寸:調整圖像的大小而不會損失縱橫比

  • 較小大中華區
  • 不要廣場。大問題。

有什麼方法可以在方塊內插入圖像而不會損失長寬比

注意:圖像顯示爲background-image。我更喜歡CSS,但它可能是JavaScript或jQuery。

非常重要:需要是支持IE8

+1

你可能會考慮使用[**背景大小,填充工具**](https://github.com/louisremi/background-size-polyfill)爲IE8 – Aziz

回答

-2

嘗試使用jQuery。您可以在保留高寬比的同時定義所需的圖片高度和寬度。

檢查此示例。

$(document).ready(function() { 
$('.story-small img').each(function() { 
    var maxWidth = 100; // Max width for the image 
    var maxHeight = 100; // Max height for the image 
    var ratio = 0; // Used for aspect ratio 
    var width = $(this).width(); // Current image width 
    var height = $(this).height(); // Current image height 

    // Check if the current width is larger than the max 
    if(width > maxWidth){ 
     ratio = maxWidth/width; // get ratio for scaling image 
     $(this).css("width", maxWidth); // Set new width 
     $(this).css("height", height * ratio); // Scale height based on ratio 
     height = height * ratio; // Reset height to match scaled image 
     width = width * ratio; // Reset width to match scaled image 
    } 

    // Check if current height is larger than max 
    if(height > maxHeight){ 
     ratio = maxHeight/height; // get ratio for scaling image 
     $(this).css("height", maxHeight); // Set new height 
     $(this).css("width", width * ratio); // Scale width based on ratio 
     width = width * ratio; // Reset width to match scaled image 
    } 

});

來源:http://ericjuden.com/2009/07/jquery-image-resize/

+0

當你複製完整的代碼,請鏈接源... http://stackoverflow.com/questions/1143517/jquery-resizing-image –

+0

這是爲背景圖像? – jpussacq

+0

對不起,只適用於使用img標籤的實際圖片。 – vviston

相關問題