iTakeo

让图片居中填满div。

如果一个div的宽高是:100*100,图片的宽高是:50*500,那么如何才能让这个图片居中填满div?

最简便的方法,是通过写背景,然后cover。

并不是每个地方都适合写背景,有些地方还是img标签来的方便。纯css的解决方案并不好实现,可以通过js去计算并修改位置。如下:

给img添加data-autosize属性,并设置img的position属性
<img src="t.png" data-autosize>
默认会添加left,top来使图片居中,如果自己使用了css3的方式来居中,设置data-autosize="translate",这样的话,将不设置样式。
<img src="t.png" data-autosize="translate">
尽量不要用css去设置img的height。可能会出现计算高度问题。
01.
02.
03.
04.
05.

下面使用css3居中。

有些情况,dom元素事先隐藏的,或者ajax请求过来的图片,这时候需要重新跑一遍js即可。

btn.onclick = function(){
    //block
    xxx.show();
    autoImg('.wrap'); //可以指定某个区域的图片重新修改宽高
    //ajax
    $.ajax({
        success : function(){
            autoImg('.wrap')
        }
    });
}
01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.

点击这里下载JS

2016/08/31 0 / /
标签:  暂无标签

验证码: 6 + 3 =

回到顶部