【发布时间】:2021-10-18 22:39:46
【问题描述】:
我有一个照片目录,其中大部分的宽高比为 4:3。有一些奇怪的,要在不丢失图片的重要部分的情况下将它们裁剪为 4:3 是不可行的。
我想在每张照片大小相同的边界框中显示所有这些照片,包括少数几张尺寸奇特的照片。边界框由col-md-4 类的div 确定:
<div class="row">
<div class="col-md-4">
<!- the image here: -->
<img class="img img-responsive" src=" ... " />
</div>
<div class="col-md-8">
<!- other stuff -->
</div>
</div>
对于那些已经是 4:3 的图像,它们都以完全相同的显示尺寸很好地显示,即使图像(文件)大小可能不同,例如,一个可以是 1024x768,另一个是 800x600。
对于“太宽”的图像,我希望它显示为(灰色条表示边界区域的背景):
对于“太高”的图像,我希望它显示为:
换句话说,每个奇数尺寸的图像都应该根据它是太高还是太胖来“选择”它的高度或宽度以适应边界框。这可以通过 bootstrap 和 css 实现吗?
值得注意的是,目前,边界div 具有由引导程序为每个图像设置的相同宽度。高度由图像的纵横比决定。当每张照片都是 4:3 时,那么高度也都是一样的。所以对于奇数尺寸的照片,高度必须锁定在显示宽度的3/4。
【问题讨论】:
-
您是否调查过对象适合(或背景大小)包含?
-
所以基本上你想要一个具有固定纵横比(例如 16:9)的容器,并以全高或全高显示图像(使用 AR 作为另一个维度)以 16 为中心:9 容器?
-
@FabianSchöner 是的,这是正确的。因为宽度是由bootstrap决定的,所以坚持AR的话高度也都是一样的。
-
@OldGeezer 在下面检查我的答案,应该可以。
标签: css twitter-bootstrap bootstrap-4 responsive-images