一、屏幕宽高相关

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

  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;

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

Js中的各种高度问题的更多相关文章

  1. js中获取窗口高度的方法

    取窗口滚动条滚动高度 function getScrollTop() { var scrollTop=0; if(document.documentElement&&document. ...

  2. 关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)

    三种浏览器获取值方法 IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 ...

  3. js中各种宽度高度总结

    offsetWidth 是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变 IE6.0.FF1.06+:offsetWidth = width + padding + borderoffsetH ...

  4. js中this关键字测试集锦

    参考:阮一峰<javascript的this用法>及<JS中this关键字详解> this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在 ...

  5. 图解js中常用的判断浏览器窗体、用户屏幕可视区域大小位置的方法

    有时我们需要获得浏览器窗口或屏幕的大小.窗口下拉框下拉的距离等数据,对应这些需求,js中提供了不少解决方法,只是数量稍多容易混淆它们各自的意义,下面咱们用图例来解释下12个常见对象属性的作用. 其中有 ...

  6. js实现iframe自适应高度

    转自:http://www.jb51.net/article/15780.htm 对于自适应高度的代码有很多,可效率什么的考虑进来好代码就不多见了,不过思路倒是差不多的! 不带边框的iframe因为能 ...

  7. js中的各种宽高以及位置总结

    在javascript中操作dom节点让其运动的时候,常常会涉及到各种宽高以及位置坐标等概念,如果不能很好地理解这些属性所代表的意义,就不能理解js的运动原理,同时,由于这些属性概念较多,加上浏览器之 ...

  8. Bom和Dom编程以及js中prototype的详解

    一.Bom编程: 1.事件练习: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  9. js中this的四种使用方法

    0x00:js中this的四种调用模式 1,方法调用模式 2,函数调用模式 3,构造器调用模式 4,apply.call.bind调用模式 0x01:第一种:方法调用模式 (也就是用.调用的)this ...

随机推荐

  1. python爬虫入门(2)----- lxml

    lxml 简介 lxml使用xpath对xml进行解析,XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. 参考官方文档:https://l ...

  2. Monster Audio 使用教程(一)入门教程 + 常见问题

    Monster Audio支持的操作系统: windows 7 64bit 至 windows 10 64bit 受支持的VST: Vst 64bit.Vst3 64bit 受支持的声卡驱动: ASI ...

  3. ElasticSearch(四)查询、分词器

    正向索引 正排表是以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档. 这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于 ...

  4. Java 异常处理专题,从入门到精通

    内置异常和Throwable核心方法 Java内置异常 可查异常(必须要在方法里面捕获或者抛出) ClassNoFoundException 应⽤程序试图加载类,找不到对应的类 IllegalAcce ...

  5. java并发包提供的三种常用并发队列实现

    java并发包中提供了三个常用的并发队列实现,分别是:ConcurrentLinkedQueue.LinkedBlockingQueue和ArrayBlockingQueue. ConcurrentL ...

  6. Oracle 忘记密码 如何修改

    原文链接:https://jingyan.baidu.com/article/358570f6aaa1efce4724fcdf.html ️打开运行窗口 ️输入sqlplus "/ as s ...

  7. C++文件操作和模板

    1.数据层次 位 bit 字节 byte 域/记录 将所有记录顺序地写入一个文件---->顺序文件:一个有限字符构成的顺序字符流 C++标准库中:ifsteam,ofstream,fstream ...

  8. Netty(一):的入门使用。

    Netty的入门基本使用流程代码,不做具体分析.使用版本为Netty 4.x版本. 服务端调用示例: 绑定端口号为8080端口 package com.cllover; import com.sun. ...

  9. SEO(Search Engine Optimization)优化

    SEO(Search Engine Optimization)汉议为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式. SEO的目的是对网站进行深度的优化,从而帮助网站获取 ...

  10. 连通图算法详解之① :Tarjan 和 Kosaraju 算法

    相关阅读: 双连通分量 ,割点和桥 简介 在阅读下列内容之前,请务必了解 图论相关概念 中的基础部分. 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通. 强连通分量(Strongly ...