来源:http://www.ido321.com/911.html

html代码

   1: <body> 
   2:     <div class="father" id="father">
   3:         <h3>这是父元素,屏幕分辨率是1366*768</h3>
   4:         <div class="son" id="son">
   5:             <h3>这是子元素,祝大家国庆快乐 </h3>
   6:             <div class="grandson" id="grandson">
   7:                 <h3>这是孙子元素,祝大家国庆快乐 </h3>
   8:                 <h3>我的博客:www.ido321.com</h3>
   9:                 <h3>程序爱好者QQ群:</h3>
  10:                 <h3>259280570  </h3>
  11:                 <h3>欢迎你增加 </h3>
  12:                 <h3>国庆快乐  </h3>
  13:             </div>
  14:         </div>
  15:     </div>
  16:     <div class="data">
  17:         <h3>数据输出</h3>
  18:         <div id="data"></div>
  19:     </div>
  20: </body> 

css

   1: *
   2:     {
   3:         margin: 0 auto;
   4:     }
   5:     .father
   6:     {
   7:         width: 500px;
   8:         height: 750px;
   9:         border: 5px solid red;
  10:         float: left;
  11:     }
  12:     .son
  13:     {
  14:         width: 400px;
  15:         height: 300px;
  16:         border: 5px solid black;
  17:         margin: 20px;
  18:     }
  19:     .grandson
  20:     {
  21:         width: 150px;
  22:         height: 100px;
  23:         border: 5px solid blue;
  24:         margin: 20px;
  25:         overflow: auto;
  26:     }
  27:     .data
  28:     {
  29:         width: 600px;
  30:         height: 750px;
  31:         border: 5px solid red;
  32:         float: left;
  33:         margin-left: 15px;
  34:     }

js:

   1: window.onload = function()
   2:     {
   3:         /*获取元素对象*/
   4:         var father = document.getElementById('father');
   5:         var son = document.getElementById('son');
   6:         var grandson = document.getElementById('grandson');
   7:         var data = document.getElementById('data');
   8:         data.innerHTML = "<h3>获取视窗大小(跟窗体大小有关)</h3>";
   9:         data.innerHTML += "document.body可见区域宽: "+document.body.clientWidth+"<br/>";
  10:         data.innerHTML += "document.body可见区域高: "+document.body.clientHeight+"<br/>";
  11:         data.innerHTML += "window.innerWidth可见区域宽: "+window.innerWidth+"<br/>";
  12:         data.innerHTML += "window.innerHeight可见区域高: "+window.innerHeight+"<br/>";
  13:         data.innerHTML += "document.documentElement可见区域宽: "+document.documentElement.clientWidth+"<br/>";
  14:         data.innerHTML += "document.documentElement可见区域高: "+document.documentElement.clientHeight+"<br/>";
  15:         data.innerHTML += "<h3>获取元素自身大小(跟是否有滚动栏无关)</h3>";
  16:         data.innerHTML += ".son自身宽度(offsetWidth属性,包含左右边框):"+son.offsetWidth+"<br/>";
  17:         data.innerHTML += ".son自身高度(offsetHeight属性,包含上下边框):"+son.offsetHeight+"<br/>";
  18:         data.innerHTML += ".son可视宽度(clientWidth属性。不包含左右边框):"+son.clientWidth+"<br/>";
  19:         data.innerHTML += ".son可视高度(clientHeight属性。不包含上下边框):"+son.clientHeight+"<br/>";
  20:         data.innerHTML += "<h3>获取.grandson滚动大小和可视大小</h3>";
  21:         data.innerHTML += ".grandson滚动宽度(scrollWidth属性):"+grandson.scrollWidth+"<br/>";
  22:         data.innerHTML += ".grandson滚动高度(scrollHeight属性):"+grandson.scrollHeight+"<br/>";
  23:         data.innerHTML += ".grandson可视宽度(clientWidth属性,不包含竖直滚动栏和border):"+grandson.clientWidth+"<br/>";
  24:         data.innerHTML += ".grandson可视高度(clientHeight属性,不包含水平滚动栏和border):"+grandson.clientHeight+"<br/>";
  25:         data.innerHTML += "<h3>获取.grandson被卷去的大小(跟滚动栏的位置有关)</h3>";
  26:         data.innerHTML += ".grandson被卷去的高(scrollTop属性,竖直滚动栏滑到最底端):"+grandson.scrollTop+"<br/>";
  27:         data.innerHTML += ".grandson被卷去的左(scrollLeft属性,水平滚动栏滑到最右端):"+grandson.scrollLeft+"<br/>";
  28:         data.innerHTML += "<h3>获取浏览器窗体位置(跟窗体大小有关)</h3>";
  29:         /*
  30:         *IE、Chrome、Safari、Opera 都提供了支持 window.screenLeft 和 *window.screenTop。可是Firxfox不支持这个两个属性。
  31:         *Firxfox、Chrome、Safari、Opera 都提供了支持 window.screenX *和 window.screenY,可是 IE 不支持这个两个属性。
  32:         */
  33:         var leftPos = (typeof window.screenLeft == 'number')?window.screenLeft:window.screenX;
  34:         var topPos = (typeof window.screenTop == 'number')?window.screenTop:window.screenY;
  35:         data.innerHTML += "body网页正文部分上(window.screenTop(Y)):"+ topPos+"<br/>";
  36:         data.innerHTML += "body网页正文部分左(window.screenLeft(X)):"+ leftPos+"<br/>";
  37:         data.innerHTML += "<h3>获取屏幕分辨率</h3>";
  38:         data.innerHTML += "屏幕分辨率的高(window.screen.height):"+ window.screen.height+"<br/>";
  39:         data.innerHTML += "屏幕分辨率的宽(window.screen.width):"+ window.screen.width+"<br/>";
  40:         data.innerHTML += "<h3>获取屏幕可用的高宽</h3>";
  41:         data.innerHTML += "屏幕分辨率的高(window.screen.availHeight):"+ window.screen.availHeight+"<br/>";
  42:         data.innerHTML += "屏幕分辨率的宽(window.screen.availWidth):"+ window.screen.availWidth+"<br/>";
  43:         data.innerHTML += "<h3>获取.father的边框大小</h3>";
  44:         data.innerHTML += ".father上边框(clientTop):"+ father.clientTop+"<br/>";
  45:         data.innerHTML += ".father左边框(clientLeft):"+ father.clientLeft+"<br/>";
  46:         data.innerHTML += "<h3>获取.son到父元素边界的距离(即相应margin+父元素相应的border)</h3>";
  47:         data.innerHTML += ".son到父元素上边界(offsetTop):"+ son.offsetTop+"<br/>";
  48:         data.innerHTML += ".son到父元素左边界(offsetLeft):"+ son.offsetLeft+"<br/>";
  49:     }
 
ps:浏览器对盒子的解析存在差异,所以以上得出的数据也会存在小小差异。附图一张

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA0Mzg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

 
关于获取视窗大小的差别:http://www.ido321.com/906.html

JavaScript中的*top、*left、*width、*Height具体解释的更多相关文章

  1. 关于javascript中静态成员和实例成员的详细解释

    关于javascript中静态成员和实例成员的详细解释  在我们了解什么是静态成员和实例成员之前,我们首先来了解一下什么是实例? 实例就是由构造函数创建出来的对象. 例如案例中 p 就是实例: fun ...

  2. JavaScript中的*top、*left、*width、*Height详解

    来源:http://www.ido321.com/911.html html代码 1: <body> 2: <div class="father" id=&quo ...

  3. RelativeLayout-代码中成员控件width height

    今天需要在代码中动态的设置一个textview的width跟height属性,记录下来. textview在xml中的布局如下 <RelativeLayout android:layout_wi ...

  4. Javascript中关于作用域和闭包和域解释的面试题

    <script type="text/javascript"> function fn() { var i = 10; return function (n) { co ...

  5. offset[Parent/Width/Height/Top/Left] 、 client[Width/Height/Top/Left] 、 Element.getBoundingClientRect()

    开篇提示:以下内容都经个人测试,参考API文档总结,但还是不能保证完全正确,若有错误,还请留言指出___________________________________________________ ...

  6. javascript中top、clientTop、scrollTop、offsetTop的讲解(转载加总结)

    scrollHeight: 获取对象的滚动高度. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最 ...

  7. delphi 窗体的位置和高宽度-TForm:Letf、Top、Width、Height、ClientWidth、ClientHeight

    delphi 窗体的位置和高宽度-TForm:Letf.Top.Width.Height.ClientWidth.ClientHeight [窗体的高度和宽度]: [客户区的高度和宽度]: [窗体在屏 ...

  8. JavaScript中 window.parent 、window.top、window.self代表的含义

    在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法 ...

  9. client/scroll/offset width/height/top/left ---记第一篇博客

    client/scroll/offset width/height/top/left (盒模型为contentBox,定位原点是元素左上角边框最外层的交点) clientWidth  width+左p ...

随机推荐

  1. docker常用命令,学习笔记

    - 常用命令 https://docs.docker.com images > docker images # 查看本地镜像 > docker images -a # 查看所(含中间镜像层 ...

  2. 阿里云上如何找到虚拟主机和用户名登录FileZilla软件?

    0.少玩游戏 1.登录阿里云官网 :https://www.aliyun.com/ 2.点击自己的旁边的名称进入进入自己的页面 3.购买的域名和主机会在这里显示,点击域名与网站(万网)>云虚拟主 ...

  3. gcc/g++命令参数笔记

    1. gcc -E source_file.c -E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码. 3. ...

  4. Unity C# 设计模式(七)适配器模式

    定义: 将一个类的接口转换成客户希望的另一个接口.adapter模式使得原本由于接口不兼容而不能在一起的那些类可以一起工作. 示例代码: 1.类适配器 /* Class Adapter:类适配器,这里 ...

  5. Android 查看设备信息

    借助getprop.dumpsys来了解一些系统相关信息. 一.getprop adb shell cat /system/build.prop 文件中存放的是用于启动系统时需要的配置文件,通常可以通 ...

  6. 【Round #36 (Div. 2 only) B】Safe Spots

    [题目链接]:https://csacademy.com/contest/round-36/task/safe-spots/ [题意] 给你n个数字构成的序列; 每个位置上的数都由0和1组成; 对于每 ...

  7. ECNUOJ 2615 会议安排

    会议安排 Time Limit:1000MS Memory Limit:65536KB Total Submit:451 Accepted:102 Description 科研人员与相关领域的国内外同 ...

  8. MethodFilterInterceptor(方法拦截器)配置excludeMethors

    由于该类有setExcludeMethods方法,因此在xml中可以配置一个excludeMethods参数 刚开始老是拦截不成功,tomcat显示这个参数没找到,后来终于找到错误:不应该在拦截器栈中 ...

  9. Java NIO和IO的主要差别

    我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异.它们的使用场景.以及它们怎样影响您的代码设计. Java NIO和IO的主要差别 下表总结了Java N ...

  10. SQL server无法启动服务,提示“错误1069: 由于登录失败而无法启动服务”

    原因:大部分情况是你修改了服务器系统的登录密码,而导致SQL服务无法启动. 解决方法:将sql server(mssql server)服务的登录密码改为系统登录密码或本地登录,如下操作步骤: 在wi ...