@Z-StyLe
front-end dev

Как заставить картинку сжиматься при уменьшении ширины окна браузера?

Что имеем:
eebc2ab71c544e5cac60239acc66f9bb.JPG

Есть плашка с навигацией по фоткам "назад" и "вперед", а также с указанием номера текущей фотки. Под плашкой идет фотография.
Страница эта должна открываться, в основном, с мобильных устройств, при чем скорее всего весьма древних. То есть расчет идет на вьюпорт 320 пикселей (но не исключено открытие и с современных смартфонов и с десктопов). Картинки, в основном своем, имеют размер ~700px. Но могут быть и меньше указанных выше 320 пикселей.

Что требуется:
Нужно, чтобы при исходном размере картинки больше 290px (320 - 30px отступы) она растягивала за собой плашку сверху, но при этом только в пределах доступного вьюпорта: то есть если открываем с мобилы с вьюпортом 320px а картинка 500px то она должна ужаться до 290px вместе с плашкой, если заходим с десктопа 1080px то она открывается как 500px и плашку делает такой же. Все это легко реализуется приведенным ниже кодом.
Но проблема вот в чем: нужно сделать так, чтобы при исходной ширине картинки меньше 290px она не растягивалась и отображалась с исходным размером, а плашка оставалась min-width: 290px. Проблема в том, что если в текущей реализации убрать width=100% для изображения, маленькая картинка отображается как надо (то есть имеет исходные размеры), а вот большая выходит за пределы вьюпорта (если он меньше размера картинки).

Если есть какие-нибудь идеи, подскажите, пожалуйста, как это решить? =)

P.S. Все осложняется обязательной поддержкой IE6+ и старых мобильных устройств которые с трудом CSS2 понимают.

Примеры кода:
Пример с большой картинкой
Пример с маленькой картинкой (сейчас растягивается...
  • Вопрос задан
  • 2385 просмотров
Пригласить эксперта
Ответы на вопрос 2
BohdanK
@BohdanK
Вот так вам нужно? Подмените ссылку на большую картинку.

jsfiddle.net/rtwhfet9/5
Ответ написан
Комментировать
prodavecmacdonalds
@prodavecmacdonalds
коммуницирую
css media queries в помощь
habrahabr.ru/post/198292
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы