Para el caso inverso se usa min-width que define el tamaño mínimo que un elemento puede tener.
La forma de usarlo, imaginemos un div que contiene una imagen, el div establece un valor de ancho de 200px y un padding de 10px, mientras que la imagen dentro del div mide 256px de ancho, el codigo sería parecido al siguiente
<div style="width:200px; padding:10px;"><img src="imagen.jpg"/></div>
El resultado es que la imagen se desborda del DIV, porque este mide menos:
Por tanto es evidente que si necesitamos que la imagen no rompa el diseño del contenedor sobrepasándolo, podríamos darle un valor a la imagen en width, pero si tenemos muchas imágenes en ese div y digamos, usamos width aplicado a la etiqueta general IMG en el código CSS, todas las imágenes se ajustaran a ese tamaño y eso en muchos casos significaría deformar la imagen o que imagen que deben ser pequeñas, sean enormes.
max-width en cambio, respeta el tamaño de la imagen mientras no sobrepase el contenedor al que se le agrega la propiedad.
Para el mismo caso usaremos el mismo código pero agregándole max-width con un valor de 200px, pues recordemos que agregamos el padding de 10px:
<div style="width:200px; padding:10px;"><img style="max-width:200px;" src="imagen.jpg"/></div>
El resultado:
Notarán que max-width lo aplicamos al elemento contenido, no al contenedor, si queremos aprovecharnos de las ventajas de CSS deberíamos crear una regla para las imágenes del contenedor:
#contenedor img {max-width:200px;}
Así pues esta regla que creamos dice que a toda imagen dentro del div con el id "contenedor", no se superará el valor de 200px, cualquier elemento que lo haga es redimensionado sobrescribiendo su valor width.
Se aplicaría a nuestro código como una ID:
<div id="contenedor" style="width:200px; padding:10px;"><img src="imagen.jpg"/></div>
Si fueran imágenes, los párrafos y otras etiquetas al mismo tiempo, debemos agregar el ID y el nombre de la etiqueta (img, obj, p, div, etcétera) por cada etiqueta, repitiendo la instrucción que separamos con una coma.
Siendo muy conscientes de que no debe haber ninguna coma que colinde con el paréntesis llave de apertura "{" o no servirá toda la regla, ejemplo:
#contenedor img, #contenedor p, #contenedor objSi una imagen es más pequeña de 200px no se deformará como podemos ver con la imagen inferior que mide 50px:
{max-width:200px;}
Este es el primer tutorial en varios días, luego de una semana enfermo, que se le va a hacer, si tiene errores o no entendieron, los comentarios son todos suyos.
Comentarios y Consultas
Los mensajes serán revisados a veces. No te olvides que soy una persona, no se trata de faltar al respeto, todos tenemos opiniones, no hay que enojarse.
Puedes marcar Notificarme para recibir la notificación de la respuesta.
4 comentarios:
hola amigo... el problema es que no anda en IE ... lo acabo de probas... gracias igual...
ResponderBorrarPor favor verifica el soporta de una propiedad CSS en la W3C.
ResponderBorrarSolo las versiones antiguas de IE no soportan max-width. Pero si ves este artículo en IE8 o IE9 funciona perfectamente.
Como sea, ya no es una preocupación actualmente IE7 e IE6. Creo que te debes enfocar en navegadores que soporten CSS3 y HTML5 no en navegadores obsoletos, porque esa era y tendencia de optimización orientada ya terminó.
Buena explicación.
ResponderBorrarY permíteme añadir: día a día el tema de compatibilidad con navegadores nos va preocupando menos a los que disfrutamos con el diseño web porque, se puede decir que, el que no tiene una versión actual de IE, es porque no quiere.
Yo además sugiero a todo el mundo que se pase a un navegador que soporte mejor los estándares HTML/XHTML y CSS. Cualquiera de ellos: Firefox, Chrome, Opera... A ver si así, los responsables de IE se dan cuenta de que el pastel ya no es todo suyo.
Saludos.
Manu
gracias muy util
ResponderBorrar