У меня узкое представление, в которое я вставляю HTML. Время от времени появляется слишком широкое изображение, поэтому я обернул исходную строку HTML, используя этот CSS, чтобы держать его под контролем:
<style type="text/css">p{max-width:100%;}img {max-width:100%;}</style>
<div style=\"word-wrap:break-word\">
.
. ...original HTML inside the div wrapper...
.
</div>
Но оно не пропорционально масштабирует ширину и высоту изображений, поэтому в результате получается очень искаженное изображение. Есть ли что-то еще, что я могу сделать, желательно с CSS или что-то такое же простое?
Это встроено в веб-просмотр в приложении iOS. Я не хочу писать код для анализа исходного HTML и поиска изображений. Мне нужно простое решение, которое использует методы, которые поддерживаются классом UIView.
UPDATE:
Используя пример из ответа Кайла ниже, я думаю, что проблема возникает с изображениями, которые имеют встроенные атрибуты ширины и высоты:
Пример Кайла:
<div style="word-wrap:break-word">
<img src="http://www.francodacosta.com/wp-content/uploads/resize_200_150.png">
</div>
<img src="http://www.francodacosta.com/wp-content/uploads/resize_200_150.png">
Изменено, с шириной и высотой, добавленной к первой ссылке на изображение
<div style="word-wrap:break-word">
<img src="http://www.francodacosta.com/wp-content/uploads/resize_200_150.png" WIDTH="100%" HEIGHT="100%">
</div>
<img src="http://www.francodacosta.com/wp-content/uploads/resize_200_150.png">
Оба используют этот CSS:
div {width:100px;}
p{max-width:100%;}
img{max-width:100%;}
Это действительно не имеет никакого значения, установлен ли атрибут ширины контейнера или нет. Я пробовал оба способа.
На самом деле, в этом случае (ссылка) похоже, что изображение сначала масштабируется с помощью атрибутов width и height, а затем ширина уменьшается с помощью CSS max-width , Это приводит к очень странному эффекту.