Так, я хочу изменить размер изображения к 30% его исходной высоты/ширины. Притворитесь, что Вы не знаете его высоты или ширины, как Вы пошли бы об этом с помощью только CSS/HTML?
Обновление:
Используя обертку display: inline-block;
, можно сделать это только с помощью CSS.
HTML
<div class="holder">
<img src="your-image.jpg" />
</div>
CSS
.holder {
width: auto;
display: inline-block;
}
.holder img {
width: 30%; /* Will shrink image to 30% of its original width */
height: auto;
}
Обертка сворачивается до исходной ширины изображения, а затем width: 30%
CSS-правило для изображений заставляет изображение уменьшиться до 30% от ширины его родителя (которая была его исходной шириной).
К сожалению, чистого HTML/CSS способа сделать это нет, поскольку ни один из них не предназначен для выполнения подобных вычислений. Однако, это довольно просто с помощью фрагмента jQuery:
$('img.toResizeClass').each(function(){
var $img = $(this),
imgWidth = $img.width(),
imgHeight = $img.height();
if(imgWidth > imgHeight){
$img.width(imgWidth * 0.3);
} else {
$img.height(imgHeight * 0.3);
}
});