Resize image proportionally with CSS?
有没有一种方法可以仅使用CSS按比例调整(缩小)图像大小?
我正在用JavaScript的方式,但是只是想看看CSS是否可行。
要使用CSS按比例调整图像大小,请执行以下操作:
1 2 3 4 | img.resize { width:540px; /* you can use % */ height: auto; } |
控制大小并保持比例:
1 2 3 4 5 6 | #your-img { height: auto; width: auto; max-width: 300px; max-height: 300px; } |
如果是背景图像,请使用background-size:contain。
示例CSS:
1 2 3 4 | #your-div { background: url('image.jpg') no-repeat; background-size:contain; } |
尝试
1 2 3 | transform: scale(0.5, 0.5); -ms-transform: scale(0.5, 0.5); -webkit-transform: scale(0.5, 0.5); |
请注意,
通过保持纵横比缩放图像
尝试这个,
1 2 3 4 | img { max-width:100%; height:auto; } |
您可以使用对象适合属性:
1 2 3 4 5 | .my-image { width: 100px; height: 100px; object-fit: contain; } |
这将适合图像,而无需按比例更改。
回顾2015年:
1 | <img src="http://imageurl" style="width: auto; height: auto;max-width: 120px;max-height: 100px"> |
我已经重新审视了它,因为所有常见的浏览器现在都具有上面谢里夫建议的自动工作方式,因此即使您不需要知道图像的宽度是否大于高度,它的效果也更好。
较旧的版本:
例如,如果您受限于120x100的框,则可以
1 | <img src="http://image.url" height="100" style="max-width: 120px"> |
css属性的max-width和max-height效果很好,但是IE6不支持,我相信IE7。您可能希望在高度/宽度上使用它,以免意外放大图像。您只想按比例限制最大高度/宽度。
1 | <img style="width: 50%;" src="..." /> |
对我来说工作得很好...还是我错过了什么?
编辑:但是请参阅Shawn关于意外增大的警告。
使用这种简单的缩放技术
1 2 3 4 5 6 7 8 9 | img { max-width: 100%; height: auto; } @media { img { width: auto; /* for ie 8 */ } } |
1 2 3 4 | img{ max-width:100%; object-fit: scale-down; } |
为我工作。它会缩小较大的图像以适合盒子,但将较小的图像保留为原始大小。
我相信这是最简单的方法,也可以通过
1 2 3 4 5 6 | .scaled { transform: scale(0.7); /* Equal to scaleX(0.7) scaleY(0.7) */ } <img src="flower.png" class="scaled"> |
要么
1 | <img src="flower.png" style="transform: scale(0.7);"> |
1 2 3 4 5 6 7 | img { max-width:100%; } div { width:100px; } |
使用此代码段,您可以更高效地完成此操作
我们可以使用媒体查询和响应式设计原理在浏览器中使用CSS调整图像大小。
1 2 3 4 5 | @media screen and (orientation: portrait) { img.ri { max-width: 80%; } } |
1 2 3 | @media screen and (orientation: landscape) { img.ri { max-height: 80%; } } |
尝试这个:
1 2 3 4 5 6 7 8 9 10 | div.container { max-width: 200px;//real picture size max-height: 100px; } /* resize images */ div.container img { width: 100%; height: auto; } |
你总是需要这样的东西
1 2 3 4 5 | html { width: 100%; height: 100%; } |
在您的css文件顶部
我需要设置图像标签的高度:'50px',宽度:'50px',并且该代码从第一个尝试注释开始起作用,我尝试了上述所有代码,但是没有运气,所以这个起作用了,这是我的_nav.html代码。 ERB: