Die Eigenschaft für die Hintergrundgröße ist nur> = 9, aber wenn das für Sie in Ordnung ist, können Sie ein div mit verwenden background-image
und Folgendes festlegen background-size: contain
:
div.image{
background-image: url("your/url/here");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
Jetzt können Sie einfach Ihre Div-Größe auf das einstellen, was Sie möchten, und das Bild behält nicht nur sein Seitenverhältnis bei, sondern wird auch vertikal und horizontal innerhalb des Div zentralisiert. Vergessen Sie nur nicht, die Größen auf dem CSS festzulegen, da divs nicht das Attribut width / height für das Tag selbst haben.
Dieser Ansatz unterscheidet sich von der Antwort von setecs. Wenn Sie dies verwenden, wird der Bildbereich von Ihnen konstant und definiert (wobei je nach Div-Größe und Bildseitenverhältnis leere Räume entweder horizontal oder vertikal verbleiben), während bei der Antwort von setecs eine Box angezeigt wird, die genau der entspricht Größe des skalierten Bildes (ohne Leerzeichen).
Bearbeiten: Gemäß der MDN-Dokumentation zur Hintergrundgröße können Sie die Eigenschaft zur Hintergrundgröße in IE8 mithilfe einer proprietären Filterdeklaration simulieren:
Obwohl Internet Explorer 8 die Eigenschaft "Hintergrundgröße" nicht unterstützt, ist es möglich, einige seiner Funktionen mithilfe der nicht standardmäßigen -ms-Filterfunktion zu emulieren:
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='path_relative_to_the_HTML_file', sizingMethod='scale')";