大家先看下面的图片。因为用户上传的图片尺寸根本没办法统一,这也是无法避免的问题。
导致我们做风格的时候,要么就把缩略图拉扯成固定的比例,这就会导致图片变形。
如果不想变形,按固定的比例缩放,就会出现左右或上下白边,导致页面不好看。
为解决这个问题,今天早上特意做了一个总结,可以实现下图的效果,任意比例调取任意尺寸的图片,都可以填充满你的风格布局。而不会出现白边或者拉扯变形。


<style type="text/css">
.pic2{
display: inline-block;
width: 100px;
height: 300px;
overflow: hidden;
border:1px solid red;
position:relative;
margin:8px
}
.pic2 img {
position:absolute;
}
</style>
<div class="pic2"><img src="/public/uploads/images/20200630/1_202006301016251399c.jpeg" onload="set_img_size(this,100,300)" /></div>
<script type="text/javascript">
function set_img_size(that,w,h){
var obj = $(that);
var o_w = obj.width();
var o_h = obj.height();console.log('s',o_w/o_h);
if( (o_w>o_h && o_w/o_h>w/h) || (o_w<o_h && o_w/o_h>w/h) ){
var left = (o_w*h/o_h-w)/2;
obj.css({'height':h+'px','left':-left+'px'});
}else{
var top = (o_h*w/o_w-h)/2;
obj.css({'width':w+'px','top':-top+'px'});
}
}
</script>

