是否有一种方法来调整(缩小)图像按比例使用CSS?

我用的是JavaScript的方式,只是想看看CSS是否可行。


<img style="width: 50%;" src="..." />

对我来说还行……还是我遗漏了什么?

编辑:但请看肖恩关于不小心放大尺寸的警告。


css属性max-width和max-height工作得很好,但IE6和IE7不支持。你会想要在高度/宽度上使用这个,这样你就不会意外地缩放图像。你只需要按比例限制最大高度/宽度。


使用CSS按比例调整图像大小:

img.resize {
    width:540px; /* you can use % */
    height: auto;
}

2015年回顾:

<img src="http://imageurl" style="width: auto; height: auto;max-width: 120px;max-height: 100px">

我重新访问了它,因为所有常见的浏览器现在都有上面Cherif建议的自动工作,所以它工作得更好,因为你不需要知道图像是否宽于高。

旧版本: 如果你被120x100的盒子限制,你可以这样做

<img src="http://image.url" height="100" style="max-width: 120px">

控制规模,保持比例:

#your-img {
    height: auto; 
    width: auto; 
    max-width: 300px; 
    max-height: 300px;
}

img {
    max-width:100%;
}

div {
    width:100px;
}

使用这个代码片段,您可以以更有效的方式完成它


注意,width:50%将把它调整为图像可用空间的50%,而max-width:50%将把图像调整为其自然大小的50%。在手机网页设计中使用这一规则时,考虑到这一点非常重要,所以在手机网页设计中,应该总是使用max-width。

更新:这可能是Firefox的一个老bug,现在看来已经修复了。


通过保持图像的纵横比来缩放图像

试试这个,

img {
  max-width:100%;
  height:auto;
}

如果是背景图片,使用background-size:contain。

css例子:

#your-div {
  background: url('image.jpg') no-repeat;
  background-size:contain;
}

Try

transform: scale(0.5, 0.5);
-ms-transform: scale(0.5, 0.5);
-webkit-transform: scale(0.5, 0.5);

你总是需要这样的东西

html
{
    width: 100%;
    height: 100%;
}

在CSS文件的顶部


使用这种简单的缩放技术

img {
    max-width: 100%;
    height: auto;
}
@media {
  img { 
    width: auto; /* for ie 8 */
  }
}

试试这个:

div.container {
    max-width: 200px;//real picture size
    max-height: 100px;
}

/* resize images */
div.container img {
    width: 100%;
    height: auto;
}

你可以使用对象匹配属性:

.my-image {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

这将适合图像,而不改变比例。


img{
    max-width:100%;
    object-fit: scale-down;
}

对我有用。它缩小较大的图像以适应方框,但较小的图像保持原始大小。


我们可以在浏览器中使用CSS调整图像大小,使用媒体查询和响应式设计原则。

    @media screen and (orientation: portrait) {
img.ri {
    max-width: 80%;
  }
}

@media屏幕和(方向:横向){ img。Ri {max-height: 80%;} }


Image_tag ("/icons/icon.gif",高:'32',宽:'32') 我需要设置高度:'50px',宽度:'50px'到图像标签,这段代码从第一次尝试开始工作注意,我尝试了上面所有的代码,但运气不好,所以这段代码可以工作,下面是我的_nav.html.erb的代码: < % = image_tag (" # {current_user。图像}",高度:'50px',宽度:'50px') %>


我相信这是最简单的方法,也可以通过<img>标记中的内联样式属性来实现。

.scaled
{
  transform: scale(0.7); /* Equal to scaleX(0.7) scaleY(0.7) */
}

<img src="flower.png" class="scaled">

or

<img src="flower.png" style="transform: scale(0.7);">