因为父级div是个固定的正方形,图片可能是竖着,也可能是横着,想让这些图片都显示成正方形,大小刚好是父级的大小,但是不能改变图片的比例。 原来的做法是只给width:100%;这样对横着的图片是可以了,但是竖着的图片下半截是空白的。
如果改成width:100%;height:100%;又会改变图片的比例。 现在想到的做法是给图片加onload,加载完成后判断它是横着还是竖着来给width:100%;或者height:100%; 但是觉得样式还是应该用css,有能做这个的样式吗?
使用css3 的 background-size: cover; 或者就只能用js了
做背景图片吧,如果不需要支持IE老版本的话,可以使用background-size属性cover进行设置。
.your-div {
width: 100px; // 你要的正方形
height: 100px; // 你要的正方形
background-image: url(/your/image/path.jpg);
background-position: center center; // 居中
background-size: cover; // 填满div
background-repeat: no-repeat;
}
另一种方法:
<div class="imgbox">
<img src="img.img">
</div>
<style type="text/css">
.imgbox{
width: 200px;
height: 0;
padding-bottom: 200px;
overflow: hidden;
}
.imgbox img {
width:200px;
min-height: 200px;
}
</style>
|