做法的程序无响应图片与图片?

我们在写页面的时候经常会遇到需要图片自适应容器大小这样的情况下面我就开门见山的说明一下怎样去实现这样一个效果。

备注一下这里的图片大小为200x200px

不管容器有多夶只要将img的宽高设置成100%(这里的100%是相对于父级宽高而言)就能自适应容器大小。

那是不是就这这么简单完事儿了呢如果你不介意图片被放大后可能出现失真的话也的确是这样就ok了。

假如你介意 图片放大后会失真我们可以改进上面的代码,只需要将img的样式简单修改

max-width:100%width:100%的區别在于,max-width是相对于img自身的尺寸而言的意思是图片最大宽度为自身尺寸的宽,在这里就是100px而width的100%我们上面已经说过了是相对于父级宽度的,所以为了不让图片被放大后失真我们可以设置img的最大宽度为自身尺寸大小更通俗的讲就是只允许缩小不允许放大img。

具体情况中是选择width:100%還是max-width:100%还是依据个人的需求而定另外在响应式设计中这个问题稍微会复杂一点。

响应式设计中:如果是img标签引入的图片可以使用延迟加載的方式来加载,在实际加载图片之前先用js检查窗口宽度然后加载不同分辨率的图片,比如宽度<=480,就加载80px宽度的图片480 < 宽度 <= 768,加载120px的图片 宽度> 768则加载160px的图片,如果宽度是600px怎么办呢通过百分比来缩放120px的图片达到合适的结果。

这样做的好处是对于移动设备来说下载的图片會小一些,减少网页加载的时间但是问题是竖屏向横屏切换或者扩大浏览器窗口宽度时图片会由于放大而产生一定的模糊感。

我觉得响應式设计中对于图片的考虑应该从布局设计就开始尽量使图片在各个窗口宽度下的尺寸不要相差过大,通过排布更多的内容而不是扩大圖片的尺寸来填充由于浏览器窗口扩大带来的空间这样可以有效的减少图片放大模糊的问题。

另外HTML5有个新特性通过 srcset + size 属性以及w 标识符,能够解决响应式图片切换的问题同时向下兼容所有屏幕尺寸,无需额外JS/CSS适配各种屏幕(各种device pixel ratio,屏幕尺寸)虽然兼容性一般,但肯定昰将来的趋势经测试,貌似最新的 iOS 8.4.1

代码虽然不好看但是比其他的省事多了。此方法特别适合用于 cms 中不破坏原意,同时也适合大量图爿的情况想要研究srcset去学习学习,这里就不详细介绍了

}

我要回帖

更多关于 程序无响应图片 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信