为了账号安全,请及时绑定邮箱和手机立即绑定

还是不太明白Math.min里 的比例关系。。。

如果前两个数都小于一  取最小的比例 那图片即使不超过视口 图片也要被缩小了。。

正在回答

3 回答

给你贴出了三种图片在视口里面出现的情况,第一个为例,下面都差不多。http://img1.sycdn.imooc.com//55bee5cd0001862a08000925.jpg

0 回复 有任何疑惑可以回复我~
#1

Chen_dear 提问者

非常感谢!
2015-08-03 回复 有任何疑惑可以回复我~

 如果宽大于视口,那么宽要乘以的系数必须要比 视口的宽度/图片的宽度 要小才行 (因为只有这样才能让图片在视口里),

同理高度的系数 也要比 视口的高度/图片的高度 要小才行

所以符合让图片在视口里的系数 要比这两个系数都小才行

所以系数能取的范围 是小于 (高度的系数 与 宽度的系数中的最小值)  并不是一定就是这个最小值

如果这个最小值小于1,我们就用这个最小值,使图片缩放的比例最小,

如果这个值大于1,我们就用1,因为1在这个范围里,并且可以保证图片不变形

所以最后系数的表达式就是,Math.min(窗口宽度/图片宽度,窗口高度/图片高度,1);

也就是3者中的最小值


0 回复 有任何疑惑可以回复我~
#1

Chen_dear 提问者

哇哦 !感谢老师这么细心回答, 老师太负责了, 喜欢上你了肿么办 (……&偷笑@~@~) 大致理解这个逻辑了,但是还有一点点不明白: 乘以的系数 是小于视口的宽度/图片的宽度 还是 小于等于 如果是小于的话 那 Math.min(窗口宽度/图片宽度,窗口高度/图片高度,1)取三个中的最小值得话这个系数 应该是等于 高度系数 或者是宽度系数 或者是1吧 也不小于他们呀!
2015-08-02 回复 有任何疑惑可以回复我~
#2

天真De孩子

这一节课 我有一个问题 就是$(window).height(); 我好几次 获取高度的时候 火狐浏览器获取的却是$(document).height(); 一个是浏览器窗口高度,一个是body文档区域高度。火狐这个是bug么 之前同事 问我 我以为是他写错了,后面我有时候也遇到这个问题。360浏览器 是正确获取了的。
2015-08-16 回复 有任何疑惑可以回复我~
#3

天真De孩子 回复 天真De孩子

原因找到了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 这个 头部问题 我晕,用sublime 生成的HTML5文档 他是不包含这个头部的!没想到 这个 在火狐 和谷歌下 会出错
2015-08-16 回复 有任何疑惑可以回复我~

乘以的系数 是小于视口的宽度/图片的宽度  还是 小于等于 如果是小于的话 那 Math.min(窗口宽度/图片宽度,窗口高度/图片高度,1)取三个中的最小值得话这个系数 应该是等于 高度系数 或者是宽度系数 或者是1吧  也不小于他们呀

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

还是不太明白Math.min里 的比例关系。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信