La respuesta a eso es sencilla y no le gusta a nadie: no se puede.
No se puede porque si usamos etiquetas IMG y las re-dimensionamos, cosa que podemos hacer con width y height tanto en el CSS como con atributos en la misma etiqueta, la imagen se mostrará con esa dimensión; como una es más alta que ancha, el pobre patito "engordará".
<div class="demoresumen">
<div>
<img src="una_imagen"/>
<p> ... un texto ... </p>
</div>
<!-- etc etc etc -->
<div>
<img src="una_imagen"/>
<p> ... un texto ... </p>
</div>
</div>
<style>
.demoresumen {margin: 0 auto; overflow: hidden; width: 480px;}
.demoresumen div {border: 1px solid #444; float: left; height: 240px; margin: 5px; width: 225px;}
.demoresumen p {font-size: 11px; margin: 0; padding: 10px;}
.demoresumen img {display: block; height: 160px; margin: 10px auto 0; width: 200px;}
</style>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
<img src="una_imagen"/>
<span><img src="una_imagen"/></span>
.demoresumen span {display: block;height: 160px;margin: 10px auto 0;overflow: hidden;width: 200px;}
.demoresumen img {width: 200px;}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Si estamos buscando opciones sencillas, lo ideal es que las imágenes que vamos a utilizar mantengan siempre una proporción adecuada y listo; ese tipo de plantilla ha sido pensada para eso; caso contrario, deberíamos olvidarnos de lo que tenemos y pasar a alguna estructura de mosaico usando CSS3 lo que impedirá que se muestre correctamente en ciertos navegadores o agregando algún script que maneje ese tipo de solución.
Una alternativa intermedia es usar un poco de CSS que no resolverá el problema pero mitigará los efectos. Para esto, debemos olvidarnos de la etiqueta IMG y colocar la imagen como fondo. Otra vez, en lugar de:
<img src="una_imagen"/>
<span style="background-image:url(una_imagen)"></span>
.demoresumen span {
display: block;
height: 160px;
margin: 10px auto 0;
width: 200px;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: cover;
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy ...
La otra propiedad que podemos usar es background-size aunque esta, sólo se aplicará en navegadores modernos y, básicamente, tiene tres valores:
No hay comentarios:
Publicar un comentario