保持可缩放图像的纵横比
Maintaining the aspect ratio of a scalable image
我使用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%);
}
除非浏览器窗口比它的宽度短得多,否则效果非常好。在这种情况下,图像的高度会被修剪,或者通过将图像的最大高度设置为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%);
}
并从<img>
中删除width
属性
更新的fiddle
在max-width
下添加width: auto
。JS Fiddle
div.item > img {
max-height: 100%;
max-width: 100%;
width: auto;
position: relative;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}
相关文章:
- 图像缩放和平移
- Phonegap IOS应用程序图像缩放多点触控
- JavaScript 图像缩放和平移(拖动)
- 画布绘制图像缩放
- 使用多层图像缩放产品图像
- 为jquery图像缩放插件定义一个选择器
- 图像缩放效果
- 可以使全屏图像缩放
- 如何在jQuery/javascript中复制这种图像缩放动画效果
- JavaScript图像缩放-圆形边框
- Jquery自定义旋转木马内的图像缩放模式
- 防止移动浏览器上的图像缩放
- 通过javascript禁用Firefox图像缩放
- 图像缩放只在点击缩略图后在灯箱中工作
- 交换图像和显示图像缩放
- 将背景图像缩放为其容器宽度的100%
- 像素化的跨浏览器图像缩放
- 是否有一个好的jQuery (Javascript)库来做快速视频(不是图像)缩放/平移?(目标:iPhone通过Pho
- 比例图像缩放
- 图像缩放+模态