在缩放的图像的HTML在仅HTML / CSS的最小宽度/高度(Scaling images in

2019-07-30 18:15发布

我有一个页面来显示一堆图像。 图像大小不同,有的很宽,一些非常薄。 我希望把他们都在固定的宽度和高度固定的容器。

放置图像的逻辑应该是这样的:如果说图像是比容器更小,将其放大到使得宽高比保持不变的最大大小,并把它在容器的中心。 如果图像是更大的,规模下来,同时保持高宽比。

一些例子:假设我们的容器是150×150,而且我们有一个图像尺寸100x50。 在这种情况下,图像应放大到150×75。 如果我们有一个图像大小100x300,图像应该缩小到50x150。

虽然这可以用JavaScript很容易做到,我想避免,如果可能的。 我不知道是否有任何方式单独CSS来实现这一目标。 我可以用CSS3唯一的解决办法,甚至用的webkit / Firefox的具体指示生活,只要它适用于Chrome,Firefox和Safari浏览器的最新版本(我将使用IE浏览器的回退,如果没有选择)。

编辑:我知道最大高度,当然,最大宽度。 问题是,如果我同时设置最大高度和最大宽度150,图像不会但是如果需要扩大规模。

Answer 1:

不要使用<img> 相反,使用一个background-image风格:

background: transparent url('path/to/image.png') no-repeat scroll center center;
background-size: contain;

background-size确实神奇,缩放图像向上或向下,使其紧贴在容器内适合。



Answer 2:

看看这个小提琴http://jsfiddle.net/demchak_alex/FazvX/3/

虽然这只是工作,如果你可以申请类单幅图像

编辑:

如果你可以使用背景图片,看看这个小提琴http://jsfiddle.net/demchak_alex/FazvX/4/

“图像只添加了类”作品在顶部,使用背景图片的作品在底部。



文章来源: Scaling images in HTML with a minimum width/height in HTML/CSS only