К сожалению, нет прекрасных ответов на проблемы, которые вы пытаетесь решить.
Во-первых, у вас есть возможность перемещать все из тегов img в фоновые изображения css. Как вы заметили, вы должны быть осторожны, теряя смысловой смысл, делая это.
Но даже если вы можете перейти к фоновым изображениям без потери семантической ценности, это все равно не будет на 100% надежным. Я написал серию тестов прошлым летом. Я проверил их на прошлой неделе, готовясь к главе в нашей книге о мобильном адаптивном веб-дизайне. Тесты расположены в http://www.cloudfour.com/examples/mediaqueries/image-test/.
К сожалению, Android не справляется с каждой из этих техник. Вы можете увидеть, как он загружает несколько копий файлов изображений с помощью мобильного теста Blaze:
www.blaze.io/mobile/result/?testid=111031_96_316
ОБНОВЛЕНИЕ 3 ноября 2011 г .: В настоящее время я пытаюсь согласовать противоречивые результаты между тем, что я вижу в Blaze, и тем, что я вижу, используя одно и то же устройство лично. На моем локальном Nexus S он проходит пятый css-тест, который ограничивает imgs, помещая их в медиа-запросы. Я посмотрел логи apache и подтвердил, что устройство загружает только одно изображение вместо двух для теста 5. Blaze работает 2.3.3. У меня телефон работает 2.3.6.
Это верно для Android 2.2, 2.3 и 3.0. Надеемся, что 4.0 будет включать в себя исправления webkit, которые предотвращают это поведение:
bugs.webkit.org/show_bug.cgi?id=24223
Кстати, это похоже на ваш комментарий о тестировании установки родительского div для отображения: ни на Android. Если вы получаете другие результаты, я хотел бы услышать об этом.
Если вы оставите их как теги img, каковы ваши варианты? На эту тему я написал серию из нескольких частей. Вторая часть серии содержит подробное описание различных методов:
http://www.cloudfour.com/responsive-imgs-part-2/
Опять же, ни одно из решений не является отличным. Если вы хотите что-то простое и работать большую часть времени, я бы пошел на adaptive-images.com. Или направляйте изображения через Sencha.io SRC, пока мы не найдем лучшее решение этой проблемы.
Кстати, извините, что так много ссылок, которые на самом деле не являются ссылками. Это мой первый ответ на stackoverflow, и он позволит мне включить только две ссылки.