来源: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. 【APP自动化】Appium Android 元素定位方法 原生+H5

    参考资料: http://blog.csdn.net/vivian_ljx/article/details/54410024

  2. 使用GitHub+Hexo建立个人网站,并绑定自己的域名(Ubuntu环境下)

    参考链接: youngzn.github.io     hexo官网     博客:从jekyll到hexo    hexo建站小结  全过程  简洁过程 使用GitHub+Hexo建立个人网站,并绑 ...

  3. oracle基础入门(四)

    一:其实oracle的语法跟sql servce 挺像的只有一些个别的差异而已 1):安装Oracle的数据库一般它的表中会自带了两站表: 是 emp(员工表) , dept(部门) 单表查询 sel ...

  4. hihoCoder #1127 : 二分图二·二分图最小点覆盖和最大独立集

    #1127 : 二分图二·二分图最小点覆盖和最大独立集 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 在上次安排完相亲 ...

  5. CF 558A(Lala Land and Apple Trees-暴力)

    A. Lala Land and Apple Trees time limit per test 1 second memory limit per test 256 megabytes input ...

  6. iOS Code Sign error: Provisioning profile can&#39;t be found 解决方式

    出现error的过程:在执行另外一个xcode项目重置了code sign.回到原来的项目的时候出现这个error 修复方法: targe-build settings-code signing id ...

  7. mediawiki使用笔记

    https://www.cnblogs.com/ToDoToTry/p/4475067.html

  8. RandomStringUtils生成随机数

    org.apache.commons.lang.RandomStringUtils;                                        //产生5位长度的随机字符串,中文环 ...

  9. Hue的三大特点、三大功能和架构

    不多说,直接上干货! Hue 是 Cloudera 的大数据 Web 工具 官方访问网站 : http://gethue.com/ GitHub : https://github.com/cloude ...

  10. MVC页面常用方法

    转自:https://www.cnblogs.com/baisoft/p/5839319.html @RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Lay ...