Помимо передовой практики (изображения должны быть столь же большим, как только они отображаются), вы могли бы просто использовать свойство CSS background-size
, к сожалению, это не но полностью поддерживается, поэтому вам придется отказаться от поддержки слабого IE.
Использование JS можно проверить window.innerWidth
(document.documentElement.clientWidth
для IE) и применить background-size
-свойства, если она соответствует видовому экрану (в CSS пути будет media-queries). Для IE вам нужно будет скрыть фоновое изображение и использовать его проприетарный filter
с объявлением sizingMethod='scale'
.
В качестве альтернативы вы можете вводить тег через JS (если браузер не поддерживает свойство фона) (чтобы обнаружить это, вы можете использовать modernizr)) и примените к нему z-index:-9999;
, поэтому он остается в фоновом режиме.
Используя JS, вы также можете установить какую-то условную ленивую технику загрузки для загрузки различных размеров изображения в зависимости от размера видового экрана пользователя (для мобильных пользователей не требуется 1300²px). Отбрасывая поддержку для IE8 и ранее, вы также можете использовать медиа-запросы CSS в упомянутые выше, чтобы загрузить различные фоновые-изображения (или использовать что-то вроде respond.js эмулировать медиа запросов для IE)
Если вы используете образы в качестве фона элементов div, он будет расти вместе с div (до максимального размера, меньший div будет обрезан bg). Если вы используете img-тег для показа изображений, просто дайте его CSS «width: 100%» – KBN