CSS3 moderno (recomendado para el futuro y probablemente la mejor solución)
.selector{
background-size: cover;
/* stretches background WITHOUT deformation so it would fill the background space,
it may crop the image if the image's dimensions are in different ratio,
than the element dimensions. */
}
Max. Estirar sin recortar ni deformar (puede que no llene el fondo) : background-size: contain;
Forzar estiramiento absoluto (puede causar deformación, pero no recortar) : background-size: 100% 100%;
Modo "antiguo" CSS "siempre funcionando"
Imagen de posicionamiento absoluto como primer hijo del padre (posicionado relativo) y estirarla al tamaño del padre.
HTML
<div class="selector">
<img src="path.extension" alt="alt text">
<!-- some other content -->
</div>
Equivalente de CSS3 background-size: cover;
:
Para lograr esto dinámicamente, tendría que usar lo opuesto a la alternativa del método de contención (ver más abajo) y si necesita centrar la imagen recortada, necesitaría un JavaScript para hacerlo dinámicamente, por ejemplo, usando jQuery:
$('.selector img').each(function(){
$(this).css({
"left": "50%",
"margin-left": "-"+( $(this).width()/2 )+"px",
"top": "50%",
"margin-top": "-"+( $(this).height()/2 )+"px"
});
});
Ejemplo práctico:
Equivalente de CSS3 background-size: contain;
:
Este puede ser un poco complicado: la dimensión de su fondo que desbordaría al padre tendrá CSS configurado en 100% y el otro en automático.
Ejemplo práctico:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: auto;
/* -- OR -- */
/* width: auto;
height: 100%; */
}
Equivalente de CSS3 background-size: 100% 100%;
:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: 100%;
}
PD: Para hacer los equivalentes de cubrir / contener de la manera "antigua" de forma completamente dinámica (por lo que no tendrá que preocuparse por los desbordamientos / proporciones), tendría que usar javascript para detectar las proporciones y establecer las dimensiones como se describe. ..