В CSS3 вы бы использовали background-size
свойство.
background-size: contain;
Масштабируйте изображение, сохраняя его внутреннее соотношение сторон (если оно есть), до максимального размера, чтобы его ширина и высота могли поместиться в области расположения фона.
Contain
всегда вмещает все изображение в вашем окне просмотра, оставляя непрозрачные границы либо сверху вниз, либо слева направо, если соотношение фонового изображения и окна браузера не совпадает.
background-size: cover;
Масштабируйте изображение, сохраняя его внутреннее соотношение сторон (если оно есть), до наименьшего размера, чтобы его ширина и высота могли полностью покрывать область позиционирования фона.
Cover
всегда заполняет окно браузера, отсекая при этом некоторые волосы или уши, что я лично и предпочитаю в большинстве случаев. Вы можете управлять выравниванием изображения в окне просмотра, используя свойство background-position.