当前位置: 首页 > news >正文

JS获取屏幕,可见窗口和网页文档(html)大小

最近想做一个浮动的网页元素,结果被各种高度和宽度给搞晕了,在网上找了半天,筛选了一下,觉得下面这个还不错,就记下了!

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop
网页被卷去的左:document.body.scrollLeft
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

IE,FireFox 差异如下:

IE6.0、FF1.06+:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

IE5.0/5.5:
clientWidth = width - border

clientHeight = height - border

offsetWidth = width

offsetHeight = height

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

下面给一张图,更好参考一点:jsattr

转载于:https://www.cnblogs.com/JavaTechLover/archive/2012/06/25/2561026.html

相关文章:

  • C# 批量复制文件
  • linux 搭建基于域名的虚拟主机
  • 40个新鲜出炉的 Photoshop 优秀教程
  • linux 正则表达式
  • EA使用教程
  • JS编程建议——6:正确处理JavaScript特殊值(2)
  • 利用jQuery选择将被操作的元素
  • parted命令分区
  • 用python怎样实现接口测试
  • JSP语法1
  • iOS 画板 涂鸦 答题
  • poj 1475 Pushing Boxes
  • 初识 ActivityLifecycleCallbacks
  • Zim - 普通人的Org-mode
  • 带参数存储过程的小例子
  • 深入了解以太坊
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 2017-09-12 前端日报
  • 5、React组件事件详解
  • Angular6错误 Service: No provider for Renderer2
  • Create React App 使用
  • css属性的继承、初识值、计算值、当前值、应用值
  • js
  • JS 面试题总结
  • linux安装openssl、swoole等扩展的具体步骤
  • Mocha测试初探
  • Spring-boot 启动时碰到的错误
  • storm drpc实例
  • tab.js分享及浏览器兼容性问题汇总
  • vue数据传递--我有特殊的实现技巧
  • windows下如何用phpstorm同步测试服务器
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 搭建gitbook 和 访问权限认证
  • 简单易用的leetcode开发测试工具(npm)
  • 通过git安装npm私有模块
  • 硬币翻转问题,区间操作
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (6)添加vue-cookie
  • (C++20) consteval立即函数
  • (function(){})()的分步解析
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (四)库存超卖案例实战——优化redis分布式锁
  • (转)setTimeout 和 setInterval 的区别
  • ***原理与防范
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .“空心村”成因分析及解决对策122344
  • .apk文件,IIS不支持下载解决