На своем веб-сайте я хотел бы отображать загруженные пользователем изображения в новом окне с определенным размером ( width: 600px
). Проблема в том, что изображения могут быть большими. Поэтому, если они больше этих 600px
, я хотел бы изменить их размер, сохранив соотношение сторон.
Я попробовал max-width
свойство CSS, но оно не работает: размер изображения не меняется.
Есть ли способ решить эту проблему?
HTML :
<div id="ImageContainerr">
<img src="DisplayImage.do?ad_id=${requestScope.advert.id}" class="Image" />
</div>
CSS :
img.Image { max-width: 100%;}
div#ImageContainer { width: 600px; }
Я также пробовал установить max-width: 600px
для изображения, но не работает. Изображение передается из сервлета (оно хранится вне папки веб-приложений Tomcat).
html
css
image
image-resizing
user1315305
источник
источник
max-width
, не устанавливайте,max-height
и он должен работать. Если нет, опубликуйте свой код, чтобы другие помогли вам определить проблему.id
здесь не соответствует CSS. Как написано (20151201), этот вопрос сводится к следующему: «Селекторы CSS, которые не соответствуют никаким объектам DOM, не влияют на внешний вид». ; ^) (Не могу понять, лучше ли отредактировать вопрос, чтобы спросить, что подразумевает его заголовок, означает или нет ...)Ответы:
Можно написать так:
img{ width:100%; max-width:600px; }
Отметьте это http://jsfiddle.net/ErNeT/
источник
Я вижу, что это не окончательный ответ.
Я вижу, у вас максимальная ширина равна 100%, а ширина - 600. Переверните их.
Также простой способ:
<img src="image.png" style="max-width:600px;width:100%">
Я часто использую это, и тогда вы также можете контролировать отдельные изображения, а не использовать его для всех тегов img. Вы также можете использовать CSS, как показано ниже.
.image600{ width:100%; max-width:600px; } <img src="image.png" class="image600">
источник
Проблема в том, что img тег является встроенным элементом, и вы не можете ограничить ширину встроенного элемента.
Итак, чтобы сначала ограничить ширину тега img, вам нужно преобразовать его в элемент встроенного блока
img.Image{ display: inline-block; }
источник
Учитывая ширину вашего контейнера 600 пикселей.
Если вы хотите, чтобы внутри помещались только изображения большего размера, добавьте: CSS:
#ImageContainer img { max-width: 600px; }
Если вы хотите, чтобы ВСЕ изображения занимали доступное (600 пикселей) пространство:
#ImageContainer img { width: 600px; }
источник
Попробуй это
div#ImageContainer { width: 600px; } #ImageContainer img{ max-width: 600px}
источник
Ваш css почти правильный. Вам просто не хватает
display: block;
изображения css. Еще одна опечатка в вашем id. Должен быть<div id="ImageContainer">
img.Image { max-width: 100%; display: block; } div#ImageContainer { width: 600px; }
<div id="ImageContainer"> <img src="http://placehold.it/1000x600" class="Image"> </div>
источник