Быстрый тест показывает, что это:
<img class="test" src="testimage.jpg" />
в сочетании с:
img.test { width: 50%; }
Изменяет размер, как вы, вероятно, хотите. Изображение удовлетворительно уменьшилось до 50% ширины коробки, содержащей его, а также изменило размер по вертикали, поддерживая соотношение сторон.
Что касается изменения размера, основанного на вертикальных изменениях, он не работает так, как вам хотелось бы, по крайней мере, не последовательно. Я пробовал:
img.test { height: 50%; }
В текущем Google Chrome (2.0.172) он несколько изменяет размеры; калибровка правильная, но не обновляется после каждого перетаскивания окна. В текущем Firefox (3.5) высота, кажется, полностью игнорируется. У меня нет удаленного IE, Safari и т. Д. Для тестирования. Не стесняйтесь редактировать эти результаты. Даже если они преуспевают в этом, возможно, что-то, чего вы хотите избежать, и придерживайтесь ширины.
EDIT: Для этой работы все элементы, содержащие img.test должны быть размером с процентами, а не статически.
Подумайте об этом так:
- тело 100% от размера окна.
- img - 50% тела.
- img - 50% от размера окна.
Теперь предположим, что я добавляю div. как это ...
<div class="imgbox" style="width: 100px;">
<img class="test" src="testimage.jpg" />
</div>
Тогда
- тело 100% от размера окна.
- div 100px, игнорирование корпус ширина.
- img - 50% от div.
- img 50px, независимо от размера окна.
Если у div есть «ширина: 100%», тогда логика работает так же, как и раньше. Пока какой-то процент, а не фиксированный, вы можете играть с процентом на img и заставлять его работать с нужным вам размером.
Возможно, для этого требуется, чтобы вложенный DIV был установлен на определенное значение ширины и высоты? –
См. Мое редактирование. Помещение div с заданной шириной и высотой приведет к нарушению того, что вы пытаетесь сделать. – WillfulWizard
Спасибо за разъяснение. Теперь имеет смысл. Я благодарю вас за продолжение. –