Я пытаюсь получить изображение в соответствии с определенным размером div. К сожалению, изображение не соответствует ему и вместо этого пропорционально сокращается до размера, который недостаточно велик. Я не уверен, что лучший способ - добиться того, чтобы изображение было в нем помещено.
Если этого недостаточно, я буду рад предоставить больше, и я открыт для исправления любых других ошибок, которые я пропускаю.
Вот HTML
<div class="span3 top1">
<div class="row">
<div class="span3 food1">
<img src="images/food1.jpg" alt="">
</div>
</div>
<div class="row">
<div class="span3 name1">
heres the name
</div>
</div>
<div class="row">
<div class="span3 description1">
heres where i describe and say "read more"
</div>
</div>
</div>
Мой CSS
.top1{
height:390px;
background-color:#FFFFFF;
margin-top:10px;
}
.food1{
background-color:#000000;
height:230px;
}
.name1{
background-color:#555555;
height:90px;
}
.description1{
background-color:#777777;
height:70px;
}
Вы можете явно определить изображения width
и height
, но результаты могут быть не самыми лучшими.
.food1 img {
width:100%;
height: 230px;
}
... за ваш комментарий вы также можете заблокировать любой overflow
- см. этот пример, чтобы увидеть изображение, ограниченное по высоте и отрезанное, потому что оно тоже широкий.
.top1 {
height:390px;
background-color:#FFFFFF;
margin-top:10px;
overflow: hidden;
}
.top1 img {
height:100%;
}
Попробуйте так:
<div class="container"><div class="col-md-4" style="padding-left: 0px; padding-right: 0px;">
<img src="images/food1.jpg" class="img-responsive">
</div>
</div>
ОБНОВИТЬ:
В Bootstrap 4 img-responsive
становится img-fluid
, поэтому решение с использованием Bootstrap 4:
<div class="container"><div class="col-md-4 px-0">
<img src="images/food1.jpg" class="img-fluid">
</div>
</div>
Просто голова, что Bootstrap 4 теперь использует img-fluid
вместо img-responsive
, поэтому дважды проверьте, какую версию вы используете, если у вас проблемы.
img-fluid
делает это! Спасибо !
Просто добавьте класс img-responsive
к вашему тегу img
, он применим в bootstrap 3 onward!
У меня была такая же проблема и наткнулся на следующее простое решение. Просто добавьте немного отступов к изображению, и он изменит размер, чтобы поместиться в div.
<div class="col-sm-3">
<img src="xxx.png" class="img-responsive" style="padding-top: 5px">
</div>
Я использовал это и работает для меня.
<div class="col-sm-3">
<img src="xxx.png" style="width: auto; height: 195px;">
</div>
Если кто-то из вас ищет Bootstrap-4. Вот
<div class="row no-gutters">
<div class="col-10">
<img class="img-fluid" src="/resources/img1.jpg" alt="">
</div>
</div>
В большинстве случаев проект bootstrap использует jQuery, поэтому вы можете использовать jQuery.
Просто введите ширину и высоту родительского с JQuery.offsetHeight()
и JQuery.offsetWidth()
и установите их дочернему элементу с JQuery.width()
и JQuery.height()
.
Если вы хотите сделать его отзывчивым, повторите описанные выше шаги в $(window).resize(func)
.