【问题标题】:Image with maximum width or height of image itself with saved aspect ratio, restricted by window size图像本身的最大宽度或高度,保存的纵横比,受窗口大小限制
【发布时间】:2019-03-15 22:25:46
【问题描述】:

我需要一个可以保存其纵横比的图像,它将是图像本身的最大宽度或高度,但不会超过窗口高度/宽度。

这里是 codepen 示例:https://codepen.io/anon/pen/GeQqOv

这个例子是用户头像,用户可以加载任何大小的头像,但我希望大头像有 100% 的图像大小,而不是在大屏幕上拉伸小头像。

现在小图像会拉伸的问题。

img {
  width: 100%;
  height:auto;
  object-fit: contain;
   max-height: 100vh;
}

【问题讨论】:

    标签: html css


    【解决方案1】:

    除非您必须支持旧浏览器,否则请使用 object-fit 和值 contain,这会增加或减少图像的大小以填充框,同时保持其纵横比。

    img {
      width: 100%;
      height:auto;
      object-fit: contain;
      max-height: 100vh;
    }
    

    can-i-use

    【讨论】:

    • 谢谢,但小图仍会拉伸
    • 就个人而言,我希望为小图像引入不同的样式规则。我不希望一个小的方形图像的行为方式与一个大的风景图像相同。
    • 问题是它是用户头像,用户可以加载任何大小的头像,但我希望大头像有 100% 的大小,而不是在大屏幕上拉伸一个小头像:(
    • 任意大小的头像!!??诡异的。我不想允许那样。呃,好吧。我想您可以编写一些代码来确定大小并应用不同的样式。
    【解决方案2】:

    这是没有 max-height:100vh 的解决方案

    img {
      height:auto;
      width:auto;
      object-fit: contain;
      max-width:100%;
      max-height:100%;
      object-fit: contain; 
    }
    

    【讨论】:

      猜你喜欢
      • 2015-01-21
      • 2013-04-03
      • 2021-02-09
      • 2015-05-22
      • 2018-09-28
      • 1970-01-01
      • 2020-11-11
      • 2021-06-12
      • 2015-06-13
      相关资源
      最近更新 更多