js操作盒子模型的13个API

盒子模型:

可以通过js来操作css中的盒子模型。

js操作盒子模型:

1)操作盒子模型的位置
2)操作盒子模型的大小

不管是操作盒子模型的位置,还是盒子模型的大小,一共有13个api:  说明:不需要记  你也记不住
三类:
    client系列
    offset系列
    scroll系列

client系列:

clientWidth(可视区域): 获取盒子的内容width+左右的padding
clientHeight(可视区域): 获取盒子的内容height+上下的padding
clientTop:获取盒子的上边框的粗细
clientLeft:获取盒子的左边框的粗细

要获取当前页面内容的宽度(可视区域):
// 获取一屏的宽度
console.log(document.body.clientWidth)
console.log(document.documentElement.clientWidth)


要获取当前页面内容的高度(可视区域):
// 获取可视区域的高度
console.log(document.body.clientHeight); // 获取内容(多屏)的高度
console.log(document.documentElement.clientHeight); // 获取一屏的高度


client系列的注意点:

1)不能获取,不能设置,它们是只读地
2)得到的是一个数值,没有单位
3)得到的是一个整数,不是小数,及时测试量出来是小数,也会转化成整数
4)不管你的内容是否溢出,得到的是可视区的大小

offset系列

offsetWidth: box.offsetWidth  在clientWidth的基础上加了border
offsetHeight: box.offsetHeight  在clientHeight的基础上加了border
offsetTop: 获取一个绝对定位元素相对于参考点的上面的距离
offsetLeft: 获取一个绝对定位元素相对于参考点的左面的距离
offsetParent(***): 获取一个定位元素的参考点

scroll系列:

    scroll本意是滚动的意思   基本上都是在有内容溢出的情况下才会使用scroll系列
    scrollWidth:  用的不多
    在没有内容溢出(水平方向上的溢出)的情况下:scrollWidth == clientWidth
    在内容溢出的情况下:scrollWidth的值约等于真实内容的宽度,不同浏览器中得到的值可能不一样
    overflow属性会影响scrollWidth。
    只能获取值,不能设置值
    scrollHeight: **
    在没有内容溢出的情况下:scrollHeight = clientHeight
    在内容溢出的情况下:scrollHeight的值约等于真实内容的高度,不同浏览器中得到的值可能不一样
    overflow属性会影响scrollHeight。
    只能获取值,不能设置值

问:我要获取当前页面真实内容的高度。
答:
1)document.body.scrollHeight
2)document.documentElement.scrollHeight

// 获取当前一屏的高度

console.log(document.documentElement.clientHeight)
// 获取当前网页内容高度
console.log(document.documentElement.scrollHeight)
console.log(document.body.scrollHeight)
scrollTop:
获取垂直滚动条滚动的距离(获取垂直滚动条卷去的高度)
特殊:不只可以获取,也可以设置(可读可写) 重要

    问:我要获取当前页面卷上去高度。
       答:1)document.body.scrollTop   2)document.documentElement.scrollTop

    问:一张网页卷上去最大高度是多少?
       答:scrollHeight - clientHeight
scrollLeft: 没什么用
    特殊:不只可以获取,也可以设置(可读可写)
    获取水平滚动条滚动的距离(获取水平滚动条卷去的距离)  基本上用不到
    没有什么卵用

总结:

client系列: width, height, top, left
    clientWidth/clientHeight: 获取盒子或页面可视区域的宽高
    clientTop:获取盒子的上边框的大小
    clientLeft:获取盒子的左边框的大小
offset系列: width, height, top, left, parent
    offsetWidth/offsetHeight: 获取盒子或页面可视区域的宽高+border
    offsetTop:获取一个定位元素相对于参考点的上面的距离
    offsetLeft:获取一个定位元素相对于参考点的左面的距离
    offsetParent:获取一个定位元素的参考点
scroll系列: width, height, top, left
    scrollWidth/scrollHeight:获取盒子或页面真实内容的宽度
    scrollTop:获取页面或盒子向上卷去的高度
    scrollLeft:获取页面或盒子向左卷去的宽度  基本上用不到

获取一张网页可视区的高度:
document.body.clientHeight
获取一张网页真实的高度:
document.body.scrollHeight
获取一张网页卷去的高度:
document.body.scrollTop


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值