JS“盒子模型”
列举几个常用的属性
client系列
clientWidth - 盒子真实内容的宽度[content+padding左右],不包括边线和滚动条
clientHeight - 盒子真实内容的高度[content+padding上下],不包括边线和滚动条
clientTop - 盒子上边框的宽度[border-top]
clientLeft - 盒子左边框的宽度[border-left]
offset系列:获取整个盒子的宽高
offsetWidth - 整个盒子的宽度[content+padding+border]
offsetHeight - 整个盒子的高度[content+padding+border]
offsetParent - 父级参照物:一个元素的父级参照物,就看它的父级是否有发生定位,如果有,那么它的父级就是当前元素的父级参照物,
如果没有,那么它的父级参照物就是body
offsetTop - 当前元素的外边框距离父级参照物内边距的上偏移量
offsetLeft - 当前元素的外边框距离父级参照物内边距的左偏移量

scroll系列
scrollWidth - 盒子真实内容【包括溢出和未溢出】的宽度,没有溢出的情况下 scrollWidth=clientWidth,有溢出盒子的scrollWidth+溢出宽度
scrollHeight - 盒子真实内容【包括溢出和未溢出】的高度,没有溢出的情况下 scrollHeight=clientHeight,有溢出盒子的scrollHeight+溢出高度
scrollTop - 盒子向上卷出去的距离
scrollLeft - 盒子向右卷出去的距离
封装一个获取当前元素距离body的距离的方法
function offset (ele){
let l = ele.offsetLeft;
let t = ele.offsetTop;
let parent = ele.offsetParent;
while(parent.tagName !== 'BODY'){
l+= parent.clientLeft + parent.offsetLeft;
t+= parent.clientTop + parent.offsetTop;
// 需要不断的跟新父级参照物
parent = parent.offsetParent
}
return {left:l,top:t}
}
JS“盒子模型”的更多相关文章
- js盒子模型
1.js盒子模型 指的是通过js中提供的一系列的属性和方法,获取页面中元素的样式信息值 例: #box有很多自己的私有属性: HTMLDivElement.prototype->HTMLElem ...
- 关于js盒子模型的知识梳理
盒子模型 JS盒子模型中的13个常用属性: clientWidth/clientHeight:可视区域的宽高,宽高+PADDING组成 clientTop/clientLeft:上边框和左边框的宽度 ...
- js 盒子模型与盒子偏移量
js 盒子模型: 通过js中提供的一系列属性和方法获取页面中元素的样式信息值. 一.client系类—>只读属性不可设置 (当前元素的私有属性,和内容溢出没关系,如果给容器设置了高度,就采用设置 ...
- JS学习:第二周——NO.3盒子模型
1.CSS盒子模型包括四个部分组成:设定的宽高+padding+border+margin: 2.JS盒子模型:通过系统提供的属性和方法,来获取当前元素的样式值 JS提供的属性和方法: clien ...
- js中的盒子模型
说到盒子模型,你第一时间会想到css盒子模型,css中的盒子模型包括(内容区+内边距+边框).那在js中怎么去获取这些属性值呢?下面一起来学习js中的盒子模型. css样式 body { margin ...
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
- DOM盒子模型常用属性client,offset和scroll
JS盒子模型属性 在JS中通过相关的属性可以获取(设置)元素的样式信息,这些属性就是盒子模型属性(基本上都是有关于样式的) 属性 值 client top/left/width/height offs ...
- 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍
01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline ...
- JQuery或JS判断浏览器内核版本号以及是否支持W3C盒子模型
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support .在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
随机推荐
- 内存与IO的交换【转】
用户进程的内存页分为两种: file-backed pages(文件背景页) anonymous pages(匿名页) 比如进程的代码段.映射的文件都是file-backed,而进程的堆.栈都是不与文 ...
- 【记录】使用在线KMS激活win10系统
摘要 网上一些激活工具可能捆绑了木马.病毒.使用激活工具有风险.使用在线KMS来激活系统则没有这个风险.(自测至发布日期仍然可用) (有能力的请支持正版windows系统) 将kms服务器地址设置为k ...
- http面试准备
从http的角度深入分析一次web请求: 1.在浏览器输入一个url地址如www.baidu.com 2.请求DNS把这个域名解析成对应的IP地址(DNS域名解析过程看上篇博客) 3.根据这个IP地址 ...
- SQLAchemy模块
老师的博客:http://www.cnblogs.com/wupeiqi/articles/5713330.html 有一篇习详细的博客: http://www.keakon.net/2012/12/ ...
- Azure存储账户的日志分析方法
1.首先确认日志功能是否开启(日志文件根据存储账户的类型,按使用量收费 . 2.在存储账户-Usage(classic)-Metrics中查看突出流量的时间: 3.在Explorer中下载对应时间点的 ...
- typeScript面对对象篇二
接口 接触过面向对象的后端语言的应该对接口很熟悉,只接触过前端的对接口会有点陌生,在维基百科中对OOP中接口的定义是这样的: 在面向对象的语言中,术语interface经常被用来定义一个不包含数据和逻 ...
- ppi
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- logback日志模板
logback.xml <?xml version="1.0" encoding="UTF-8"?> <configuration> & ...
- 入坑MATLAB必会的吐血总结
本渣想回过头来整理一下MATLAB的一些基本的知识(很多东西比较琐碎,应该系统的梳理梳理),下文中没有提到的,自己用help查即可. 此文用来存个档,便于回顾. 由于matlab各版本部分语法存在差异 ...
- Mysql 密码过期
1. Cd D:\xampps\mysql\bin 输入命令:mysql -u root -p,回车即可进入mysql命令行界面. mysql->show database; mysql-& ...