Я не совсем уверен, что вы пытаетесь сделать, но вот несколько советов, которые помогут вам использовать только свойства CSS для достижения некоторого изменения размера и обрезки изображения.
Приведенный ниже код изменит размер изображения в соответствии с размером контейнера.
<div id="THE-OUTER-CONTAINER" style="width:100px; height:100px; overflow:hidden;">
<img src="YOUR_PIC.jpg" style="width:100%; height:100%;"/>
</div>
ключ понимает, что свойства высоты и ширины img могут использовать%. Использование% в вашем дизайне отлично подходит для придания гибкости. Это, конечно, заставит изображение любого размера родительского контейнера. Поэтому, если у родительского контейнера неправильное соотношение сторон, изображение будет искажено.
Чтобы сохранить соотношение сторон, вам нужно знать размер, чтобы заранее расширяться, и указывать его только в стиле тега img. Например, ниже будет правильно изменить размер изображения только по ширине.
<div id="THE-OUTER-CONTAINER" style="width:100px; height:100px; overflow:hidden;">
<img src="YOUR_PIC.jpg" style="width:100%;"/>
</div>
Используя вышеизложенное, если YOUR_PIC.jpg имеет размер 200x200 пикселей, он уменьшит его до 100px и обрежет до 100px снизу.
Если вы хотите, чтобы он расширялся в пределах диапазонов вместе с шириной / высотой, вы бы использовали свойства 'max-width' / 'min-width' и 'max-height' / 'min-height' css на img. Установите те, что вам нужно. Тогда у вас будет что-то вроде этого:
<div id="THE-OUTER-CONTAINER" style="width:100px; height:100px; overflow:hidden;">
<img src="YOUR_PIC.jpg" style="width:100%; height:100%; max-width:50px; max-height:50px;"/>
</div>
Приведенный выше код гарантирует, что изображение не будет увеличено для контейнеров размером более 50 пикселей, но будет уменьшено для любого контейнера размером менее 50 пикселей.
Кроме того, вы можете использовать некоторый JavaScript для динамического вычисления размеров. Это было бы полезно, если вы заранее не знаете, какое измерение вы хотите изменить. Используйте javascript для расчета размера, а затем установите соответствующие свойства CSS выше. Я бы предложил использовать jquery, чтобы упростить вашу жизнь на JavaScript.
Надеюсь, это приведет вас на правильный путь.