javascript - 保持可缩放图像的纵横比

标签 javascript jquery css responsive-design transform

我正在使用 css 属性 transform: translateY 将图像在页面上垂直居中。图像的宽度是页面宽度的百分比,以便在用户放大或缩小浏览器窗口时进行缩放。

这是标记:

<div class="item">
    <img src="..." width="50%">
</div>

这是CSS:

.item {
    width: 100%;
    height: 100%;
    text-align: center;
}
div.item > img {
    max-height: 100%;
    max-width: 100%;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

这非常有效,除非浏览器窗口比宽度短得多,在这种情况下图像的高度会被 trim ,或者通过将图像的最大高度设置为 100%,会被压缩。在查看此演示时,您可以通过大幅降低浏览器窗口的高度来发现问题:https://jsfiddle.net/0zh4qvLm/ .在这种情况下如何保持图像的纵横比?

最佳答案

将您的 CSS 更改为

div.item > img {
    max-height: 100%;
    max-width: 50%;
    width:auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

并删除 width来自您的 <img> 的属性

updated fiddle

关于javascript - 保持可缩放图像的纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176296/

相关文章:

javascript - Google+ 登录自定义按钮和通话

javascript - 如何将 json 响应显示回网页?

javascript - jquery.show 未运行

javascript - 如何在 JSrender if 语句中创建 && 运算符?

javascript - CSS 中的最小/最大绝对位置

javascript - 使用depends和max - jquery验证

javascript - 有没有办法通过变量从对象中获取信息?

javascript - 动画导航栏上的增量收缩

html - 如何在css中的两个图像之间添加段落

javascript - requestAnimationFrame 不等待下一帧