javascript - 如何做支持水平和垂直方面的比例图库?

标签 javascript jquery html css image

即使视口(viewport)或父元素的纵横比发生变化,我也试图让图像保持比例。

到目前为止我有 this fiddle 利用某些技术将图像设置为全屏背景。不幸的是,一旦达到一定大小,它就会溢出,部分图像会被隐藏。

HTML

<div class="full-screen">
    <img src="http://placehold.it/350x150" />
</div>

CSS

.full-screen {
      position: fixed; 
      top: -50%; 
      left: -50%; 
      width: 200%; 
      height: 200%;
}
.full-screen img {
      position: absolute; 
      top: 0; 
      left: 0; 
      right: 0; 
      bottom: 0; 
      margin: auto; 
      min-width: 50%;
      min-height: 50%;
}

理想情况下,我从不希望图像被裁剪,我总是希望它根据宽高比占据全宽或全高。

这是一张图片,希望能让它更容易理解:

enter image description here

如果单独使用 CSS 无法做到这一点,您如何使用 jQuery 计算调整大小?

我看过这里的帖子,就像他的一样:

Proportionally resize image based on parent div size

建议我将图像的高度设置为auto,但这似乎不起作用。

最佳答案

在 .full-screen img 中使用 max-width 和 max-height,而不是 min-width 和 min-height。

min-width 表示尺寸不会缩小到该宽度以下(当然高度也一样)。

关于javascript - 如何做支持水平和垂直方面的比例图库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25387385/

相关文章:

javascript - 在 Vuejs 中观察 window.scrollY 的变化

javascript - 从动态创建的 html select 中选择选定的选项

jquery - 如何根据模型值显示 css div?

jquery - 如何在带有动画翻转的图像顶部使用jquery在悬停时淡入div

html - 将参数添加到href网址

javascript - 为什么 document.location 或 window.location 都不起作用?

javascript - 使用 onchange 和 eventListener 创建 <select>

javascript - 如何使用全局 CSS 或 javascript 定位和更改元素样式?

html - 将 HTTP GET 与 JQuery 结合使用

html - CSS 中一个 div 或表格的两个滚动条