Я пытаюсь сделать изображение (динамически размещаемое без ограничений по размерам) таким же широким, как его родительский div, но только до тех пор, пока эта ширина не превышает его собственную ширину на 100%. Я пробовал это, но безрезультатно:
img {
width: 100%;
height: auto;
max-width: 100%;
}
Многие из этих изображений намного шире, чем их родительский div, поэтому я бы хотел, чтобы они изменили размер соответствующим образом, но когда появляется небольшое изображение и увеличивается за пределы своих обычных размеров, оно действительно выглядит ужасно. Есть ли способ сделать это?
max-width: 100%
?Ответы:
Просто укажите в
max-width: 100%
одиночку, что должно сработать.источник
Нашел этот пост в поиске Google, и он решил мою проблему благодаря ответу @jwal, но я сделал одно дополнение к его решению.
С помощью приведенного выше я изменил максимальную ширину на размеры контейнера содержимого, в котором находится мое изображение. В этом случае это: ширина контейнера - отступы - граница = максимальная ширина
Таким образом, мое изображение не вырвется из содержащего его div, и я все еще могу разместить изображение внутри div содержимого.
Я тестировал IE 9, FireFox 18.0.2 и Chrome 25.0.1364.97, Safari iOS и, похоже, работает.
Дополнительно: я тестировал это на изображении шириной 1024 пикселей, отображаемом при 678 пикселей (максимальная ширина), и изображении шириной 500 пикселей, отображаемом на уровне 500 пикселей (ширина изображения).
источник
width:auto !important;
исправило проблему в IE11 для меня, когда изображение было больше, чем его контейнер, а IE11 не уменьшал изображение. Установка этого вimg
селекторе решила проблему в IE11. Однако установкаwidth:100%;
без другого правила ничего не сделала в IE11. Таким образом, "переопределение" должно быть включено, чтобы изображение уменьшилось до размера контейнера.Установка ширины 100% - это полная ширина div, в котором он находится, а не исходное полноразмерное изображение. Невозможно сделать это без JavaScript или другого языка сценариев, который может измерять изображение. Если у вас может быть фиксированная ширина или фиксированная высота div (например, 200 пикселей в ширину), тогда не должно быть слишком сложно дать изображению диапазон для заполнения. Но если вы поместите изображение 20x20 пикселей в коробку 200x300 пикселей, оно все равно будет искажено.
источник
источник
Вы должны установить максимальную ширину и, если хотите, вы также можете установить отступы с одной из сторон. В моем случае max-width: 100% было хорошо, но изображение находилось в самом конце экрана.
источник
У меня также была такая же проблема, но я установил значение высоты в моем CSS на auto, и это устранило мою проблему. Также не забудьте сделать свойство display.
источник
Я нашел ответ, который сработал для меня, и его можно найти по следующей ссылке:
Контейнеры полной ширины в узлах ограниченной ширины
источник
Если изображение меньше родительского ...
источник
Я бы использовал собственность
display: table-cell
Вот ссылка
источник