Js中的各种高度问题

 一、屏幕宽高相关

  屏幕高度就是你的整个屏幕高度(开机会亮的那片区域的高度),相关的其他高度划分很简单,就是以任务栏为分界线从而分为两部分。   

  screen.height :屏幕高度。

  screen.width :屏幕宽度。

  screen.availHeight :屏幕可用高度。即屏幕高度减去上下任务栏后的高度。

  screen.availWidth :屏幕可用宽度。即屏幕宽度减去左右任务栏后的宽度。

二、浏览器宽高相关

  浏览器高度就是你能看到的浏览器高度(如果你改变浏览器窗口大小,下边获取的值也会改变),相关的其他高度由工具栏为两部分。   

  window.outerHeight :浏览器高度。

  window.outerWidth :浏览器宽度。

  window.innerHeight :浏览器内页面可用高度;此高度包含了水平滚动条的高度(若存在)。可表示为浏览器当前高度去除浏览器边框、工具条后的高度。

  window.innerWidth浏览器内页面可用宽度;此宽度包含了垂直滚动条的宽度(若存在)。可表示为浏览器当前宽度去除浏览器边框后的宽度。

  工具栏高/宽度包含了地址栏、书签栏、浏览器边框等范围。如:高度,可通过浏览器高度 - 页面可用高度得出,即:window.outerHeight - window.innerHeight。

 三、页面宽高相关

  文档宽高这一块内容很多也很杂,这里先从基础的clientWidth、clientHeight、offsetWidth、offsetHeight说起。

  clientWidth与clientHeight:返回元素的宽度或高度(padding+content)。

  offsetWidth与offsetHeight:返回元素的宽度或高度(padding+content+border)。

  scrollWidth与clientWidth:返回元素的宽度或高度(padding+content)。

  document.documentElement.clientWidth;  视口大小,不包括滚动条

  document.documentElement.clientHeight;  视口大小,不包括滚动条

  document.documentElement.offsetWidth;  视口大小,不包括滚动条

  document.documentElement.offsetHeight;  文档大小

  document.body.clientWidth;  视口大小,不包括滚动条

  document.body.clientHeight;  文档大小

  document.body.offsetWidth;  文档大小

  document.body.offsetHeight;  文档大小

  var scrollWidth = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);

  var clientWidth = document.documentElement.clientWidth || document.body.clientWidth;

  关于这块的东西实在过于混乱,网上虽有众多博客讲解,但本人在测试时发现这些博客准确度并不高,限于本人能力有限,尚且无法总结出规律,这里就贴出几篇对我帮助比较大的博客地址。

 

学习和码字过程难免出现疏漏,欢迎指正!QQ:1801888312
原文地址:https://www.cnblogs.com/liuguo/p/12913700.html