CSS 图片固定大小显示(裁剪 不变形)

起因

假设后端返回的图片是不同尺寸的,那么我希望页面上显示的统一尺寸但不变形的图片,可以使用img标签+css的object-fit属性来实现。

img标签 object-fit属性

  • object-fit 属性指定元素的内容应该如何去适应指定容器的高度与宽度,一般用于 img 和 video 标签,一般可以对这些元素进行保留原始比例的剪切、缩放或者直接进行拉伸等
  • 可以通过使用 object-position 属性来切换被替换元素的内容对象在元素框内的对齐方式。
  • 更多属性值可参考菜鸟教程
  • 例子:例子

同样效果:background-size属性

属性值cover与contain

相同之处

  • 他们都会对图片进行等比缩放

区别

  • cover属性值:
    • 缩放背景图片以完全 覆盖 背景区,可能背景图片部分看不见。
    • 该背景图以它的全部宽或者高覆盖所在容器。当容器和背景图大小不同时,背景图的 左/右 或者 上/下 部分会被 裁剪。
  • contain属性值:
    • 保证图片始终 完整 的显示在背景区域,不裁剪图片
    • 缩放背景图片以完全 装入 背景区,可能背景区部分空白。
    • 该背景图会填充所在的容器。当背景图和容器的大小的不同时,容器的空白区域(上/下或者左/右)会显示由 background-color 设置的背景颜色。
, ,