2011-05-29 14 views
5

Soy muy nuevo en el desarrollo de HTML y CSS.Cambiar el tamaño de las imágenes con javascript antes de asignarlas a una etiqueta img

Tengo una página HTML con una etiqueta img. Esta etiqueta tendrá algunas imágenes. Estas imágenes tienen diferentes tamaños. Configuré un ancho y alto a la etiqueta img usando CSS.

Todas las imágenes se mostrarán mediante JavaScript.

¿Necesito cambiar el tamaño de las imágenes con JavaScript antes de asignar una imagen a la etiqueta IMG? Tal vez, no necesito hacer eso porque configuré el tamaño IMG usando CSS. Las proporciones estarán restringidas?

Lo siento por mi inglés.

Respuesta

3

La relación de aspecto no se mantendrá si ha configurado tanto la altura como el ancho con css. Pero si especifica alguna de las propiedades con la etiqueta html img, se mantendrá la relación de aspecto.

+0

Gracias por la respuesta. ¿Cómo puedo cambiar el tamaño de una imagen antes de asignarla a una etiqueta 'IMG'? – VansFannel

+1

use jQuery para hacer esto – woodscreative

+0

¿Desea mantener la relación de aspecto? En caso afirmativo, ¿qué te gustaría que te arreglen? la altura o el ancho? –

3

Debería hacer esto en el lado del servidor. Con un script de administración. Puede crear las versiones de la imagen original cuando está cargada, y luego esas imágenes pueden ser usadas con seguridad por el lado HTML/CSS.

Esto no es una tarea que hacer en el lado del cliente. Básicamente, lo que estás haciendo aquí es descargar una imagen grande (muchos datos) y luego simplificarla para crear una imagen más pequeña. Así que está desperdiciando ancho de banda del cliente y ancho de banda del servidor.

Si hay posibilidad ninguna allí y tiene un área fija decir 640x480, entonces se puede acieve recorte rudimentaria con el mantenimiento de la relación ascpect con lo siguiente:

HTML:

<div id="wrapper"><img src="my.jpg"></div> 

CSS:

#wrapper { 
    width: 640px; 
    height: 480px; 
    line-height: 480px; 
} 

#wrapper img { 
    width: 640px; 
} 
+0

Mejor hacer esto en el servidor de hecho. Es un desperdicio enviar una imagen grande y hacer que el cliente muestre una imagen pequeña. Si cambia el tamaño en el servidor, puede almacenar en caché las imágenes redimensionadas * y * necesitará menos ancho de banda para enviar la imagen. Ambos son una ganancia de rendimiento. – GolezTrol

+0

Este es un buen consejo para cualquiera que quiera hacer esto. Pero voy a usarlo en una aplicación WebWorks Playbook. – VansFannel

Cuestiones relacionadas