使图片自适应屏幕大小的js

JavaScript037

使图片自适应屏幕大小的js,第1张

对小屏幕的人来说,经常有人发的图片超过你的屏幕大小,页面下面会出现一个横向滚动条,浏览起来很不方便,有的网站因为排版问题,导致一行文字过长,拉伸了整个页面,都可以通过这个脚本来“修正”,让该页面更适合你的屏幕大小。

gBrowser.loadURI("javascript:(function(){function%20t(f){a=d.createNodeIterator(d,1,f,false)while(a.nextNode()){}}var%20d=documentt(function(e){x=e.offsetLeftl=e.offsetParentwhile(l!=null){x+=l.offsetLeftl=l.offsetParent}var%20w=d.documentElement.clientWidth-xvar%20s=e.styleif(s.marginLeft)w-=s.marginLeftif(s.marginRight)w-=s.marginRightif(s.paddingLeft)w-=s.paddingLeftif(s.paddingRight)w-=s.paddingRightif(s.borderSize)w-=s.borderSizew-=d.defaultView.innerWidth-d.documentElement.offsetWidthif(e.tagName=='IMG'){h=e.clientHeight*w/e.clientWidths.maxHeight=h}s.maxWidth=w+'px'})})()")

方法一、

css实现:(此例中图片宽高比例为1:1)

<mt-swipe :auto="4000" style='height: 0padding-bottom: 100%width: 100%'>

        <mt-swipe-item style="height: 0padding-bottom: 100%width: 100%" v-for="item in list" :key="item.id">

            <img :src="item.img" class="swipepic">

        </mt-swipe-item>

      </mt-swipe>   

就是通过padding-top或者padding-bottom实现,高度设置为0。这个属性当它的值为百分比的时候,是按该元素的宽度来计算的。也就是说当设为100%的时候,其高度就等于自身的宽度,形成一个正方形。也就是说可以通过这个来设置已知尺寸比例的图片宽度100%高度自适应。

方法二、

使用js判断图片的宽度得到具体数值之后,再来利用js设置图片的高度,具体实现请打开百度,另外请注意:用js实现的时候需要监控页面缩放变化以达到自适应。