Modernes CSS3 (empfohlen für die Zukunft und wahrscheinlich die beste Lösung)
.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. Dehnung ohne Zuschnitt oder Verformung (füllt den Hintergrund möglicherweise nicht aus) : background-size: contain;
Absolute Dehnung erzwingen (kann Verformung verursachen, aber kein Zuschnitt) : background-size: 100% 100%;
"Altes" CSS "funktioniert immer"
Absolutes Positionierungsbild als erstes Kind der (relativ positionierten) Elternteils und Dehnen auf die übergeordnete Größe.
HTML
<div class="selector">
<img src="path.extension" alt="alt text">
<!-- some other content -->
</div>
Äquivalent zu CSS3 background-size: cover;
:
Um dies dynamisch zu erreichen, müssten Sie das Gegenteil der Alternative zur Contain-Methode verwenden (siehe unten). Wenn Sie das zugeschnittene Bild zentrieren müssen, benötigen Sie ein JavaScript, um dies dynamisch zu tun - z. B. mithilfe von jQuery:
$('.selector img').each(function(){
$(this).css({
"left": "50%",
"margin-left": "-"+( $(this).width()/2 )+"px",
"top": "50%",
"margin-top": "-"+( $(this).height()/2 )+"px"
});
});
Praktisches Beispiel:
Äquivalent zu CSS3 background-size: contain;
:
Dieser kann etwas knifflig sein - für die Dimension Ihres Hintergrunds, die das übergeordnete Element überlaufen würde, ist CSS auf 100% festgelegt, für das andere auf Auto.
Praktisches Beispiel:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: auto;
/* -- OR -- */
/* width: auto;
height: 100%; */
}
Äquivalent zu CSS3background-size: 100% 100%;
:
.selector img{
position: absolute; top:0; left: 0;
width: 100%;
height: 100%;
}
PS: Um die Äquivalente von Deckung / Enthalten auf die "alte" Weise vollständig dynamisch zu machen (damit Sie sich nicht um Überläufe / Verhältnisse kümmern müssen), müssten Sie Javascript verwenden, um die Verhältnisse für Sie zu erkennen und die Abmessungen wie beschrieben einzustellen. ..