2016-05-20 5 views
-1

Я работаю над веб-приложением, в котором я должен использовать образы разного размера. Я должен показать изображение в соответствующем соотношении сторон.Поддержка пропорций изображения не работает должным образом

My ImageWrapper от размер 500x500. Я использую директиву для поддержания соотношения сторон.

Это HML файл

<div class="image-aspect-wrapper-list "> 
    <img src="/OctoberImageHolder/container/2/small/1.jpeg" alt="..." onError="" image-resize > 
</div> 

это файл CSS

.image-aspect-wrapper-list { 
    width: 250px; 
    height: 250px; 
    text-align: center; 
    line-height: 250px; margin: 0 auto; 
} 
.image-aspect-wrapper-list img { 
vertical-align: middle; 
} 

это директива

MyApp.directive('imageResize', function($window, $rootScope) { 
    return { 
     restrict: 'EA', 
     scope: {}, 
     link: function(scope, elem, attrs) { 
      elem.on('load', function(){ 
       if($(this).width() >= $(this).height()){ 
        $(this).css({'width':$(this).parent().width(),'height':'auto'}); 

       }else{ 
       $(this).css({'height':$(this).parent().height(),'width':'auto'}); 
       } 

      }); 
     } 
    }; 
}); 

Это работает отлично, но требуется некоторое время, чтобы загрузить директиву и до того момента, когда изображение достигнет максимального размера. как решить эту проблему.

Некоторое время он не работает должным образом.

+1

почему параметр высоты на всех? просто используйте img {width: 100%} (не устанавливая высоту) – fhollste

+0

, что scinario не подходит для портретных изображений, высота которых больше ширины – ashishkumar148

ответ