Estoy tratando de hacer que una imagen (colocada dinámicamente, sin restricciones en las dimensiones) sea tan ancha como su división principal, pero solo mientras ese ancho no sea más ancho que su propio ancho al 100%. He intentado esto, en vano:
img {
width: 100%;
height: auto;
max-width: 100%;
}
Muchas de estas imágenes son mucho más anchas que su división principal, por lo que me gustaría que cambien de tamaño en consecuencia, pero cuando aparece una pequeña imagen y se amplía más allá de sus dimensiones normales, realmente se ve terrible. ¿Hay alguna forma de hacer esto?
max-width: 100%
?Respuestas:
Solo especifique
max-width: 100%
solo, eso debería hacerlo.fuente
Encontré esta publicación en una búsqueda en Google y resolvió mi problema gracias a la respuesta de @jwal, pero hice una adición a su solución.
Con lo anterior, cambié el ancho máximo a las dimensiones del contenedor de contenido en el que se encuentra mi imagen. En este caso es: ancho del contenedor - relleno - borde = ancho máximo
De esta manera, mi imagen no saldrá del div que contiene, y todavía puedo flotar la imagen dentro del div de contenido.
He probado en IE 9, FireFox 18.0.2 y Chrome 25.0.1364.97, Safari iOS y parece funcionar.
Adicional: probé esto en una imagen de 1024px de ancho que se muestra a 678px (el ancho máximo), y una imagen de 500px de ancho que se muestra a 500px (ancho de la imagen).
fuente
width:auto !important;
solucionó un problema en IE11 para mí donde la imagen sería más grande que su contenedor y IE11 no reduciría la imagen. Establecer esto en elimg
selector solucionó el problema en IE11. Sin embargo, la configuraciónwidth:100%;
sin la otra regla no hizo nada en IE11. Por lo tanto, se debe incluir la "anulación" para que la imagen se reduzca al tamaño de su contenedor.Establecer un ancho del 100% es el ancho completo del div en el que se encuentra, no la imagen original de tamaño completo. No hay forma de hacerlo sin JavaScript o algún otro lenguaje de script que pueda medir la imagen. Si puede tener un ancho fijo o una altura fija del div (como 200px de ancho), entonces no debería ser demasiado difícil darle a la imagen un rango para llenar. Pero si coloca una imagen de 20x20 píxeles en un cuadro de 200x300 píxeles, seguirá distorsionada.
fuente
fuente
Debe establecer el ancho máximo y, si lo desea, también puede establecer algo de relleno en uno de los lados. En mi caso, el ancho máximo: 100% era bueno, pero la imagen estaba justo al final de la pantalla.
fuente
También estaba teniendo el mismo problema, pero configuré el valor de altura en mi CSS como automático y eso solucionó mi problema. Además, no olvide hacer la propiedad de visualización.
fuente
Encontré una respuesta que funcionó para mí y se puede encontrar en el siguiente enlace:
Contenedores de ancho completo en padres de ancho limitado
fuente
Si la imagen es más pequeña que la principal ...
fuente
Usaría la propiedad
display: table-cell
Aqui esta el enlace
fuente