如何在CSS中设置图像的最大宽度

use*_*305 69 html css image image-resizing

在我的网站上,我想在具有特定大小(width: 600px)的新窗口中显示用户上传的图像.问题是图像可能很大.因此,如果它们比这些更大600px,我想调整它们的大小,保留纵横比.

我尝试了max-widthCSS属性,但它不起作用:图像的大小不会改变.

有什么方法可以解决这个问题吗?

HTML:

<div id="ImageContainerr">
    <img src="DisplayImage.do?ad_id=${requestScope.advert.id}" class="Image" />
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

img.Image { max-width: 100%;}
div#ImageContainer { width: 600px; }
Run Code Online (Sandbox Code Playgroud)

我也试过设置max-width: 600px图像,但不起作用.图像从servlet流式传输(存储在Tomcat的webapps文件夹之外).

san*_*eep 111

你可以像这样写:

img{
    width:100%;
    max-width:600px;
}
Run Code Online (Sandbox Code Playgroud)

检查这个http://jsfiddle.net/ErNeT/

  • 我投了票.OP想要的不是你提供的.您应该也意识到OP的代码可能存在问题,因为通常他会尝试的,应该工作..谁投票,给我一个理由,谢谢. (3认同)
  • 这不保留IE中的宽高比 (2认同)
  • “宽度:100%”的目的是什么?链接的小提琴似乎没有它就可以正常工作?(在 Mac OX 上的 Firefox 和 Safari 中测试) (2认同)

Mer*_*arl 15

我看到这还没有作为最终答案。

我看到你的最大宽度为 100%,宽度为 600。翻转它们。

一个简单的方法也是:

     <img src="image.png" style="max-width:600px;width:100%">
Run Code Online (Sandbox Code Playgroud)

我经常使用它,然后您也可以控制单个图像,而不是在所有 img 标签上都使用它。你也可以像下面那样使用 CSS。

 .image600{
     width:100%;
     max-width:600px;
 }

     <img src="image.png" class="image600">
Run Code Online (Sandbox Code Playgroud)


小智 5

问题是img标签是内联元素,你不能限制内联元素的宽度。

因此,首先要限制 img 标签宽度,您需要将其转换为内联块元素

img.Image{
    display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)