先看盒子模型

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>视窗宽高</title>
 5 </head>
 6 <style type="text/css">
 7     *{ 8         margin: 0;
 9         padding: 0;
10     }
11     .box1{12         width: 200px;
13         height: 200px;
14         background: #007d65;
15         margin: 20px 50px;
16         padding: 30px 60px;
17         border: 30px solid #7fb80e;
18         position: absolute;
19         top: 100px;
20         left: 200px;
21         overflow: scroll;
22     }
23
24 </style>
25 <body>
26     <div class="box1">
27         <p>这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框这里是内容框</p>
28     </div>
29 </body>
30 <script type="text/javascript">
31     box1=document.getElementsByTagName('div')[0];
32     console.log('offsetTop='+box1.offsetTop);           //120
33     console.log('offsetLeft='+box1.offsetLeft);         //250
34     console.log('offsetWidth='+box1.offsetWidth);       //380
35     console.log('offsetHeight='+box1.offsetHeight);     //320
36     console.log('clientWidth='+box1.clientWidth);       //303
37     console.log('clientHeight='+box1.clientHeight);     //243
38     console.log('scrollWidth='+box1.scrollWidth);       //303
39     console.log('scrollHeight='+box1.scrollHeight);     //354
40 </script>
41 </html>

有滚动条,滚动条在padding内,占用了padding,paading不够填充,便占用content区域,所以content大小为
width:200(CSS)-17(滚动条)
height:200(CSS)-17(滚动条)

  • offsetTop: div上外border线到视窗顶的距离
  • offsetLeft: div左外border线到视窗左的距离
  • offsetWidth=borderLeft+paddingLeft+cssWidth+paddingRight+borderRight
  • offsetHeight=borderTop+paddingTop+cssHeight+paddingBottom+borderBottom
  • clientWidth(可视区域宽度): paddingLeft+cssWidth+paddingRight-滚动条宽
  • scrollWidth(实际内容宽度): paddingLeft+cssWidth+paddingRight-滚动条宽+滚动条可以滚动的长度(若无滚动,则等于clientWidth,即本例)
  • clientHeight(可视区域高度): paddingTop+cssHeight+paddingBottom-滚动条宽
  • scrollHeight(实际内容高度): paddingTop+cssHeight+paddingBottom-滚动条宽+滚动条可以滚动的长度

转载于:https://www.cnblogs.com/moon-future/p/5833117.html

视窗宽高offset、client、scroll相关推荐

  1. offset/client/scroll一些总结

    offset/client/scroll一些总结 1.offset 首先offset共有五个值 1.offsetParent 2.offsetTop 3.offsetLeft 4.offsetWidt ...

  2. Web APIs介绍(四)——offset/client/scroll/轮播图/本地存储

    1.1. 元素偏移量 offset 系列 1.1.1 offset 概述 offset 翻译过来就是偏移量, 我们使用 offset系列相关属性可以动态的得到该元素的位置(偏移).大小等. 获得元素距 ...

  3. offset client scroll

    页面中所有标签都是元素(element),html标签是根元素,元素可看出是对象 页面中所有内容都是节点(node),所以标签.属性.文本都是节点,而文本包括文字回车换行空格 在DOM对象上有个 pr ...

  4. 窗口和元素的大小:offset client scroll

    1.偏移量(offset)只读 offsetHeight:元素垂直方向上占用的空间大小.包括元素内容区高度.元素上下内边距.(可见的)水平滚动条高度.上下边框高度 offsetWidth:元素水平方向 ...

  5. 三大系列总结(offset client scroll)

    元素偏移量offset offset概述 获得元素距离带有定位父元素的位置 如果子元素没有父亲或者父元素没有定位,则以body为准 获得元素自身的大小(包含padding+border+width) ...

  6. .net label在父容器中占两行显示_十分钟快速了解 JS 中的 offset、scroll、client

    经常碰到offset.scroll.client这几个关键字,每次都要各种实验,这里总结一下. 两张图镇楼,随时翻阅 1. offset offset 指偏移,包括这个元素在文档中占用的所有显示宽度, ...

  7. dom操作获取盒子宽高位置的三种方法,offset/scroll/client三大家族使用详解(附源码及注释)

    结论:页面body的高度==视口的高度+滚动条滚动的距离. 这是一个恒等式,看完本篇博客,你将了解offset/scroll/clent三大事件获取宽高位置的具体含义,运用所学内容可以推导出这样的恒等 ...

  8. offset、scroll、client三大家族

    1.offset    偏移 1.offsetWidth 和 offsetHeight 是用来得到对象的大小,由自身宽高 内边距 边框构成但是不包括 外边距 offsetHeight和style.he ...

  9. jquery获取设置元素宽高位置height()、width()、offset()、position()、scrollTop()、scrollLeft()

    全栈工程师开发手册 (作者:栾鹏) jquery系列教程2-style样式操作全解 jquery获取设置元素宽高位置 jquery的通过height().width().offset().positi ...

最新文章

  1. CocoaPods私有库搭建的记录
  2. Github标星9k+,超赞的 PyTorch 资源大列表!
  3. python连接mysql数据库并实现增删改查
  4. BCB中获得RichEdit 默认行间距
  5. 转 Java的各种打包方式(JAR/WAR/EAR/CAR)
  6. jquery总结06-动画事件03-淡入淡出效果
  7. Spring Boot——[Disconnected from the target VM, address: IP:端口, transport: #39socket#39]解决方案
  8. 迁移.NET 1.0 应用到FX 2.0 –.NET评测网的工具箱
  9. python导出数据找不到csv_python – 将数据从neo4j导出到csv而不是json
  10. CST光源控制卡简单操作C#程序
  11. 恐怖之城(深圳)系列1---K113大巴洗劫一空
  12. Android 关于解决MediaButton学习到的media控制流程
  13. python求字符组合_python – 生成一个潜在的8个字符串的所有可能的2个字符组合?...
  14. 计算机二级南阳理工学院官网,南阳理工学院外国语学院:彩虹之旅 温暖你心...
  15. 关于计算机组装与维护的论文,计算机组装与维护论文范文
  16. C# 绘制矩形方框读写内存类 cs1.6人物透视例子
  17. 嵌入式开发如何入门?
  18. 软工作业04四则运算网页版
  19. docker 测试mysql_Mac上使用Docker快速启动MySQL测试
  20. 高中计算机教学工作计划,2017高中信息技术教学工作计划

热门文章

  1. turtle库绘制圆_Python绘画:应用Turtle库绘制“抖音艺术字”
  2. mysql 存储过程 无限分类,查看新闻/公告--[转帖]mysql存储过程实现的无限级分类,前序遍历树...
  3. 【若依(ruoyi)】弹框图标 / layer 图标
  4. 华师大数据科学考研_2020年30所微电子院校考研信息详细汇总
  5. play版 高德地图google_iOS 12 发布,苹果 CarPlay 终于开始支持谷歌、高德导航
  6. react 动态路 嵌套动子路由_react 路由动态加载组件,实现按需加载
  7. 2017计算机应用+简答,2017计算机应用基础试题及答案
  8. linux解压文件名乱码,linux下解压zip文件时,文件名乱码的解决(转载)
  9. python多分支实现四则运算器代码_一份让Python疯狂加速的工具合集!
  10. linux java tar 卸载_linux下jdk的卸载与安装