前端获取各种宽高

原文地址:https://segmentfault.com/a/1190000021446237
作者:Fw恶龙
本文首发于:思否


图片仅供参考,由于部分属性各个浏览器解释不一致,有些错误,等研究透后再修改。

1. 获取浏览器宽高

  • window.innerHeight:
    浏览器内页面可用高度;此高度包含了水平滚动条的高度(若存在)。可表示为浏览器当前高度去除浏览器边框、工具条后的高度。
  • window.outerHeight:
    浏览器高度。
  • window.innerWidth:
    浏览器内页面可用宽度;此宽度包含了垂直滚动条的宽度(若存在)。可表示为浏览器当前宽度去除浏览器边框后的宽度。
  • window.outerWidth:
    浏览器宽度。
  • 工具栏高度:
    包含了地址栏、书签栏、浏览器边框等范围。如:高度,可通过浏览器高度 – 页面可用高度得出,即:window.outerHeight – window.innerHeight。

2. 获取页面宽高

  • document.body.offsetHeight/document.body.clientHeight/document.documentElement.offsetHeight:
    body/html总高度。
  • document.documentElement.clientHeight:
    html展示的高度;表示body在浏览器内显示的区域高度。
  • document.body.offsetWidthdocument.body.clientWidth:
    body总宽度。
  • document.documentElement.offsetWidthdocument.documentElement.clientWidth
    html展示的宽度;表示html在浏览器内显示的区域宽度。
  • 滚动条高度/宽度:
    如高度,可通过浏览器内页面可用高度 – html展示高度得出,即window.innerHeight – documentElement.clientHeight。

3. 获取屏幕宽高

  • screen.height:
    屏幕高度。
  • screen.availHeight:
    屏幕可用高度。即屏幕高度减去上下任务栏后的高度,可表示为软件最大化时的高度。
  • screen.width:
    屏幕宽度。
  • screen.availWidth:
    屏幕可用宽度。即屏幕宽度减去左右任务栏后的宽度,可表示为软件最大化时的宽度。
  • 任务栏高/宽度:
    可通过屏幕高/宽度 减去 屏幕可用高/宽度得出。如:任务栏高度 = screen.height – screen.availHeight 。

4. 注意

  • 浏览器宽高和页面宽高会随着浏览器缩放而改变
  • 屏幕宽高不随浏览器缩放而改变,但是经过测试(Chrome、Opera、Firefox、IE、360),只有360获取的是屏幕实际宽高,而其他浏览器获取的是屏幕缩放后的宽高
  • 呃,发现各个浏览器对这些属性解释不一样,后面继续补充

5. 参考资料

作者:Fw恶龙

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值