2020-08-06

JS-获取浏览器、屏幕以及元素的宽度和高度

window和document对象的区别

window对象

1、window对象是一个顶层对象,而不是某个对象的属性,它表示浏览器软件打开的窗口即浏览器的窗
2、window对象是可以省略的 如window.console.log(1) == console.log(1)

document对象

1、document对象是window对象的一个属性, 可以写成window.document.body == document.body
2、浏览器的HTML文档成为Document对象

区别

1、window 指窗口。document指页面。document是window的一个子对象
2、用户可以改变window.location (用其它文档取代当前文档),但不能改变 document.location(因为这是当前显示文档的位置)。window.location本身也是一个对象,而document.location不是对象

浏览器屏幕宽高

  • window.screen:包含用户电脑屏幕的信息 支持所有的浏览器
  • window.screen.width / window.screen.height :(只读属性)整个屏幕的宽或高,与窗口大小无关
  • window.screen.availWidth / window.screen.availHeight:去掉windows下面资源管理器等固定性空间的宽高
  • window.screenLeft / window.screenTop :浏览器窗口距离电脑显示屏顶部/左侧的距离

浏览器宽高

  • window.innerWidth / window.innerHeight:浏览器整个窗口的宽高减去console控制台栏、导航栏、菜单栏、地址栏(不包括资源管理器栏)之后剩余的宽高,随窗口大小变化而变化

  • window.outerWidth / window.outerHeight :浏览器整个窗口的宽高,包括导航栏、菜单栏、地址栏(不包括资源管理器栏),随窗口大小变化而变化

  • document.body.clientWidth / document.body.clientHeight:网页可见区域(body)的宽高,指body这个元素容器的宽高
    兼容:document.documentElement.clientWidth || document.body.clientWidth

  • document.body.offsetWidth / document.body.offsetHeight:网页可见区域(body),包括border、margin等的总宽高

  • document.body.scrollWidth / document.body.scrollHeight:网页正文全文宽,包括有滚动条时的未见区域,注意当body元素里所有的元素的高度小于body元素高时,scrollHeight指body这个元素的高度;当body元素里所有的元素的高度大于body元素高时,scrollHeight指所有元素总高度

  • document.body.scrollLeft / document.body.scrollTop:网页被卷去的Top/Left(滚动条)

事件对象坐标

  • clientX和clientY:鼠标相对于浏览器(可视区域左上角0,0)窗口可视区域的X,Y坐标,可视区域不包括工具栏和滚动条。IE可用
  • screenX和screenY:鼠标相对于设备屏幕左上角(0,0)的坐标
  • offsetX和offsetY:鼠标相对于事件源左上角(0,0)的坐标
  • pageX和pageY:鼠标相对于整个网页左上角(0,0)的坐标 (比如滚上去的区域也算在里面)。IE不支持

分辨率 比例 | 设备尺寸

1、以下是常见设备尺寸

1024*500 (8.9寸)
1024*768 (比例4:3  | 10.4寸、12.1寸、14.1寸、15寸; )
1280*800(16:10  |15.4寸)
1280*1024(比例:5:4  | 14.1寸、15.0寸)
1280*854(比例:15:10 | 15.2)
1440*900 (16:10  17寸 仅苹果用)
1440*1050(比例:5:4  | 14.1寸、15.0寸)
1680*1050(16:10 | 15.4寸、20.0寸)
1920*1200 (23寸)

2、利用尺寸可用做PC端响应式媒体查询断点

@media (min-width: 1024px){
    body{...} /*>=1024的设备*/
} 
@media (min-width: 1100px) {
    body{...} /*>=1100的设备*/
} 
@media (min-width: 1280px) {
    body{...} /*>=1280的设备*/
} 
@media (min-width: 1440px) {
    body{...}
} 
@media (min-width: 1680px) {
    body{...}
} 
@media (min-width: 1920px) {
  body{...}
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值