Свойство background-size имеет значение ie> = 9, но если вас это устраивает, вы можете использовать div с помощью background-image
и установить background-size: contain
:
div.image{
background-image: url("your/url/here");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
Теперь вы можете просто установить свой размер div на то, что вы хотите, и не только изображение сохранит свое соотношение сторон, оно также будет централизовано как по вертикали, так и по горизонтали внутри div. Только не забудьте установить размеры в css, так как у div нет атрибута width / height в самом теге.
Этот подход отличается от ответа setecs, при этом область изображения будет постоянной и задана вами (оставляя пустые места по горизонтали или по вертикали в зависимости от размера div и соотношения сторон изображения), в то время как ответ setecs даст вам коробку, которая точно размер масштабированного изображения (без пробелов).
Изменить: Согласно документации MDN background-size вы можете смоделировать свойство background-size в IE8, используя собственное объявление фильтра:
Хотя Internet Explorer 8 не поддерживает свойство background-size, некоторые его функции можно эмулировать с помощью нестандартной функции -ms-filter:
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='path_relative_to_the_HTML_file', sizingMethod='scale')";