我想用浏览器重新调整图像。我试过了:
<div id="imageWrapper">
<img src="imageurl" />
</div>
<style>
#imageWrapper{width:100%;height:100%;padding:0 0 30px 30px}
#imageWrapper img{width:100%;height:100%;}
</style>
这适用于风景图片,但纵向格式图像缩放到图像宽度而不是浏览器高度。相反,我得到一个不需要的滚动条和一个需要滚动的图像。身高:100%似乎在我的情况下无法正常工作
我在我的母版页的ContentPlaceholder中使用C#在ASP.NET中工作。 imageUrl填充在代码隐藏中。因此,没有肮脏的技巧,背景图像是不可能的。
我希望达到的是横向图片填充100%视口宽度和最大视口高度,但纵向图像填充100%视口高度和最大视口宽度。
答案 0 :(得分:1)
你需要这样的东西:
<style>
body {
padding: 0;
margin: 0;
}
#imageWrapper{
width:100%;
height:100%;
padding:0
}
#imageWrapper img{
width:auto;
height:100%;
}
</style>
<div id="imageWrapper">
<img src="http://fc07.deviantart.net/fs12/i/2006/310/d/f/Value_Gray_Scale_Self_Portrait_by_stronglikemusic.jpg" />
</div>
答案 1 :(得分:0)
对于尺寸调整,我建议使用background-size
cover
或contain
属性,例如:
<div id="imageWrapper">
<div class="image" style="background-image: url(imageurl);" />
</div>
#imageWrapper{
width:100%;
height:100%;
padding:0 0 30px 30px
}
#imageWrapper .image{
width:100%;
height:100%;
background-size: cover; /* or contain */
background-repeat: no-repeat;
background-position: center;
}
问题出在padding
上,因为这会增加width: 100%;
换句话说:如果父级是100x100px
,那么#imageWrapper
的总大小会变为130x130px
,因为30px
上有额外的bottom
填充, right
。因此滚动条。
这里的解决方案是带有滚动条的元素上的overflow: hidden;
(然后它应该相应地调整大小)。