Я столкнулся с проблемой с подгонкой рисунка в div. В основном divs - это заголовки карт. Картинки имеют разную ориентацию и размер. Что мне делать, чтобы вписаться в них?Фиксация изображения в div
ответ
Хорошо, я исправил проблему. Я назначил класс div.
<div class="fill">
<img src="...">
</div>
и в CSS.
.fill {
max-width: 70%;
height: 100%;
}
.fill img {
width: inherit;
height: inherit;
}
Я использую этот трюк и работает очень хорошо для меня:
<div class="card" style="background-image: url(...)"></div>
И в КСС:
.card {
background-size: cover;
height: 400px;
width: 600px;
}
Дело в том, чтобы масштабировать изображение с помощью cover
фона который отображает большую часть изображения, а также охватывает весь div, поэтому ваши элементы будут соответствовать размеру.
Вы можете попробовать оба варианта:
.card-image {
background: url(...);
background-size: cover;
}
Две ноты: - около 7% браузеров не поддерживают крышку; - использование «фиксированного» фона может привести к непредсказуемым проблемам; - вы также можете попробовать background-size: содержать и посмотреть, дает ли он лучшие результаты.
Кроме того, я бы рекомендовал зарезервировать некоторое пространство для изображения, пока оно не загрузится, чтобы избежать переполнения документа при перезагрузке изображения.
.card-container {
position: relative;
}
.card-image {
padding-bottom: 56.25%; //for 16:9 ratio
}
.card-image img {
position: absolute;
top: 0;
left: 0;
}
Вот подход с object-fit
.
Заполнить: Это растянет изображение, чтобы оно соответствовало родительскому, не учитывая пропорции.
Содержит: Сохраняет пропорции, но может увеличивать или уменьшать размер изображения. Масштабирование с низким разрешением может быть искажено.
Обложка: Сохраняет пропорции изображения и будет соответствовать родительскому контейнеру, но, скорее всего, обрезает изображение.
.img-container {
height: 300px;
width: 400px;
background-color: yellow;
}
.cover {
object-fit: cover;
height: 100%;
width: 100%;
}
.contain {
object-fit: contain;
height: 100%;
width: 100%;
}
.fill {
object-fit: fill;
height: 100%;
width: 100%;
}
<h1>Cover</h1>
<div class="img-container">
<img src="http://i.stack.imgur.com/BPfiX.jpg" class="cover" />
</div>
<h1>Contain</h1>
<div class="img-container">
<img src="http://i.stack.imgur.com/BPfiX.jpg" class="contain" />
</div>
<h1>Fill</h1>
<div class="img-container">
<img src="http://i.stack.imgur.com/BPfiX.jpg" class="fill" />
</div>
поддержка браузера, но в остальном хотел бы этот вариант в будущем – AlFra
Я предполагаю, что вы хотите, я также видел пост, где вы ответили на свой вопрос. Вот еще одно возможное решение. Вы можете играть с ним и установить контейнер width
и height
с различными значениями.Я использовал две фотографии. Один с height>width
, а другой с height<width
. здесь также fiddle
.img-container {
border: 2px dashed #f00;
line-height: 0;
text-align: center;
}
.img-container img {
max-height: 100%;
max-width: 100%;
height: auto;
}
<div class="img-container">
<img src="https://upload.wikimedia.org/wikipedia/en/0/05/Doctor_Who_-_Current_Titlecard.png" alt="drwho">
</div>
<div class="img-container">
<img src="https://lh4.googleusercontent.com/-MkDsiF5-BXQ/AAAAAAAAAAI/AAAAAAAAKv0/dRBJk-2PGw4/s0-c-k-no-ns/photo.jpg" alt="who2" />
- 1. Фиксация изображения на полноэкранный div
- 2. Фиксация изображения для ImageView
- 3. Фиксация изображения в столбце таблицы
- 4. Фиксация Div с его матерью
- 5. Фиксация/Уничтожение Div при прокрутке
- 6. Фиксация выравнивания поплавка и div
- 7. Фиксация заголовка новостей Заголовок/Изображения
- 8. фиксация изображения координата внутри холста
- 9. Фиксация изображения в UITableViewCell в iPhone?
- 10. Фиксация изображения в проекте андроида проекта
- 11. Фиксация рамки изображения в соответствии с изображением
- 12. фиксация фона положение изображения в хроме
- 13. Фиксация серого цвета .owl-carousel div
- 14. Фиксация SwipeRight - JQuery Mobile
- 15. фиксация положения столбца в angularjs
- 16. Фиксация ширины элементов внутри дисплея div в виде таблицы
- 17. Фиксация позиции в HTML/CSS
- 18. Фиксация крошечных изображений в GridView?
- 19. Фиксация HTML-формы в CSS
- 20. Фиксация JQuery Waypoint
- 21. Фиксация изображения до 3 координат в Matlab Рисунок
- 22. Фиксация ширины изображения при наведении с помощью анимации CSS
- 23. Перепозиционирование изображения в DIV
- 24. JavaScript изображения в DIV
- 25. позиция изображения в div
- 26. Изображения в отзывчивом DIV
- 27. центр изображения в div
- 28. Центрирование изображения в div
- 29. Подгонка изображения в div
- 30. Установка изображения в div
Просьба предоставить некоторую разметку. –
Трудно ответить без какой-либо информации о вашем коде. Однако вы могли бы заглянуть сюда и посмотреть, полезно ли это http://stackoverflow.com/questions/14262938/child-with-max-height-100-overflows-parent/14264093#14264093 – Daniel