如何根据用户的视口增加图像宽度和高度,同时保持纵横比不变?

How do I increase my image width and height according to the viewport of the user while keeping the aspect ratio same?

我正在制作一个网站,除了可点击的元素之外,该网站基本上只是一个巨大的图像,我想知道如何根据用户的屏幕尺寸增加图像大小,这样图像就不会'看起来不会拉伸,但仍适合整个屏幕。这是我第一次使用视口,所以我不能确切地说我理解得很好。这里有一些代码可以提供帮助:

<div class="Image">
          <img src="Background.png"/> 
        </div>

.Image {
    width: 100vw;
    height:  100vh;
    object-fit: contain;
}

第一部分写于index.html,第二部分写于style.css。仅供参考,html 部分是在 <body>.

中编写的
<div class="fullscreen" /> 

.fullscreen {
    position: fixed;
    top: 0;
    left: 0;

    background-image: url(Background.png);
    background-size: cover;
    background-position: center;
    width: 100vw;
    height:  100vh;
}

你必须申请

  width: 100vw;
  height: 100vh;
  object-fit: contain;

直接img,可以直接使用idclassimg,但不推荐使用最后一种方法,因为它适用于所有img文档中的标签

我已经使用 red background 来显示图像覆盖了多少区域,但是 object-fit: contain; 所以图像比例保持不变
Read this to know more about object-fit

使用

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

删除任何不必要的 horizontal 滚动条,因为标签有一些默认的 marginpadding 。所以,这里使用了 body 标签

.Image {
  width: 100vw;
  height: 100vh;
  object-fit: contain;/*Can be cover , fill , none...*/
  background-color: red;
}

body {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
<div>
  <img src="https://www.hdnicewallpapers.com/Walls/Big/Rainbow/Rainbow_on_Mountain_HD_Image.jpg" class="Image" />
</div>