Una prueba rápida muestra que esto:
<img class="test" src="testimage.jpg" />
combina con:
img.test { width: 50%; }
Cambia el tamaño de la forma en que es probable que desee. La imagen se redimensionó diligentemente al 50% del ancho de la caja que la contiene, así como al cambio de tamaño verticalmente, manteniendo la relación de aspecto.
En cuanto al cambio de tamaño en función de los cambios verticales, no funciona de la manera que le gustaría, al menos no consistentemente. Intenté:
img.test { height: 50%; }
En la versión actual de Google Chrome (2.0.172), cambia el tamaño de forma inconsciente; el tamaño es correcto, pero no se actualiza después de cada arrastre de ventana. En Firefox actual (3.5), la altura parece ser ignorada por completo. No tengo ningún IE, Safari, etc. remotamente reciente para probar. No dude en editar en esos resultados. Incluso si a ellos les va bien, es probable que todavía sea algo que quieras evitar, y mantente con el ancho.
EDIT: Para que esto funcione, todos los elementos que contienen img.test necesitan ser dimensionada con porcentajes, no estáticamente.
creo que de esta manera:
- cuerpo es el 100% del tamaño de la ventana.
- img es 50% del cuerpo.
- img es el 50% del tamaño de la ventana.
Supongamos que añado un div. así ...
<div class="imgbox" style="width: 100px;">
<img class="test" src="testimage.jpg" />
</div>
Entonces
- cuerpo es 100% del tamaño de la ventana.
- div es 100 píxeles, ignorando el ancho del cuerpo.
- img es 50% de div.
- img es de 50 px, independientemente del tamaño de la ventana.
Si el div tiene "ancho: 100%", la lógica funciona igual que antes. Siempre que sea un porcentaje, y no fijo, puede jugar con el porcentaje en el img y hacerlo funcionar del tamaño que desee.
Esto parece requerir que el DIV adjunto se establezca en un valor de ancho y alto particular? –
Ver mi edición. Poner un div con un ancho y alto establecidos romperá lo que estás tratando de hacer. – WillfulWizard
Gracias por aclarar. Tiene sentido ahora. Aprecio que sigas. –