Я использую тег img HTML, чтобы показать фотографию в нашем приложении. Я установил для атрибута высоты и ширины значение 64. Мне нужно показать любое разрешение изображения (например, 256x256, 1024x768, 500x400, 205x246 и т.д.) Как 64x64. Но установив атрибуты высоты и ширины тега img на 64, он не поддерживает соотношение сторон, поэтому изображение выглядит искаженным.
Для справки мой точный код:
<img src="Runtime Path to photo" border="1" height="64" width="64">
Ответ 1
Не устанавливайте высоту и ширину. Используйте одно или другое, и правильное соотношение сторон будет сохранено.
.widthSet {
max-width: 64px;
}
.heightSet {
max-height: 64px;
}
<img src="http://placehold.it/200x250" />
<img src="http://placehold.it/200x250" width="64" />
<img src="http://placehold.it/200x250" height="64" />
<img src="http://placehold.it/200x250" class="widthSet" />
<img src="http://placehold.it/200x250" class="heightSet" />
Ответ 2
вот образец один
div{
width: 200px;
height:200px;
border:solid
}
img{
width: 100%;
height: 100%;
object-fit: contain;
}
<div>
<img src="https://upload.wikimedia.org/wikipedia/meta/0/08/Wikipedia-logo-v2_1x.png">
</div>
Ответ 3
<img src="Runtime Path to photo"
style="border: 1px solid #000; max-width:64px; max-height:64px;">
Ответ 4
Установите width
и height
изображения на auto
, но ограничьте как max-width
, так и max-height
:
img {
max-width:64px;
max-height:64px;
width:auto;
height:auto;
}
Fiddle
Если вы хотите отображать изображения произвольного размера в 64x64px "фреймах", вы можете использовать обертки inline-блока и позиционирование для них, например в этой скрипке.
Ответ 5
Ни один из перечисленных методов не масштабирует изображение до максимально возможного размера, который помещается в поле, сохраняя требуемое соотношение сторон.
Это невозможно сделать с тегом IMG (по крайней мере, не без бит JavaScript), но это можно сделать следующим образом:
<div style="background:center no-repeat url(...);background-size:contain;width:...;height:..."></div>
Ответ 6
Оберните изображение в div
с размерами 64x64 и установите width: inherit
на изображение:
<div style="width: 64px; height: 64px;">
<img src="Runtime path" style="width: inherit" />
</div>
Ответ 7
Почему бы вам не использовать отдельный файл CSS для поддержания высоты и ширины изображения, которое вы хотите отобразить? Таким образом, вы можете обеспечить ширину и высоту обязательно.
например:
image {
width: 64px;
height: 64px;
}