图像在循环中创建,其中:
<div id="row">
<div class="col-sm-6">
<div id="row">
<?php
foreach ($products as $product)
{
?>
<div class="col-sm-6">
<a href="/admin/product/" class="thumbnail">
<div class="caption">
title<br>
10 x viewed
</div>
<img src="/assets/img/product/<?php echo $product['img'] ?>" class="img img-responsive full-width" />
</a>
</div>
<?php
}
?>
</div>
</div>
</div>
图像是从不同的大小有些是高于宽度,和有些是宽然后高度。我怎么能强迫所有的图像具有相同的高度,同时响应。这是确定为他们有宽度:100%,但我不能使用高度:自动,比例将保持然后。我应该怎么做,使我的图像平方,而他们的React,我不知道的%。
例如,绿色衬衫没有他的宽度高
我不想使用jquery,只想使用CSS!
6条答案
按热度按时间kqqjbcuj1#
你可以这样做:
1.使用
padding-bottom:100%; overflow:hidden; position:relative
将图像 Package 在容器中1.将图像完全放置在该容器中。
FIDDLE
说明:
填充顶部/底部(如边距顶部/底部)是根据父元素的宽度计算的。由于
.image
div与其父元素的宽度相同,设置padding-bottom:100%;
给予与宽度相同的高度,因此它是方形的(其内容需要绝对定位或浮动,因此不会更改父元素的大小)。j0pj023g2#
这里是最好的解决方案,为每一个大小的图像http://jsfiddle.net/oboshto/p9L2q/53/
HTML相同:
新CSS:
szqfcxe23#
你可以将所有的图片 Package 在一个div中,然后将div的overflow设置为hidden。只要div是正方形,那么你的图像就会被裁剪。div也可以响应。similar post
db2dz4w84#
这个链接对我有用。JSFiddle
而不是使用
<div><img/></div>
,background-position; background-size; background-repeat
将做的伎俩。xqkwcwgp5#
web-tiki answer几乎对我有效,对于更大的图像,我必须添加此HTML和CSS以使它们在正方形内居中:
tct7dpnv6#
在我看来,这是一个符合Bootstrap精神的解决方案:
在Bootstrap 5.3上进行了测试,但Bootstrap 5已经支持这种方式,并且在Bootstrap 4中也支持不同的模式。