美文网首页
js盒子模型

js盒子模型

作者: web前端ling | 来源:发表于2017-06-14 17:39 被阅读0次

    盒子模型

    盒子模型

    1.CSS盒子模型由四部分构成:手动设定的宽高,padding,border,margin

    2.JS盒子模型:可以通过系统提供的方法,来获取元素的样式;·

    3.JS盒子模型中系统提供的属性和方法:

    1)client系列:clientWidth  clientHeight clientLeft clientTop;

    2) offset系列:offsetWidth offsetHeight offsetLeft offsetTop offsetParent

    3) scroll系列:scrollWidth scrollHeight scrollLeft scrollTop;

    4.关于父级:

    结构父级 parentNode

    在结构父级中,最大的元素是html元素

    最大的节点是document节点

    定位父级 offsetParent

    在定位里面最大的是body元素

    5.逐个解读JS盒子模型的方法:

    1)client系列:整个盒子,自己设定的宽跟高,不包括边框

    clientWidth/clientHeight:手动设定的宽度/高度+左右的padding/上下的padding

    clientLeft/clientTop:左边框的宽度/上边框的宽度

    跟内容溢出无关;

    2)offset系列:整个盒子的宽高,包括边框

    - offsetWidth/offsetHeight:clientWidth/clientHeight+左右border/上下border;    - offsetLeft/offsetTop:当前元素的外边框(不算自己的边框),到定位父级的内边框之间的距离;    跟内容溢出无关;

    - 偏移参照----------定位父级offsetParent3)scroll系列:跟内容溢出有关:

    当内容没有溢出的情况:就是整个盒子的宽高

    -  scrollHeight:等于clientHeight  -  scrollWidth等于clientWidth  -  scrollTop:被浏览器卷去的高度    当内容溢出的情况:

    -  scrollHeight:溢出内容的高度+上padding,约等于上padding+真实内容的高度;  -  scrollWidth:溢出左右的宽度+左右padding  -  scrollTop:被浏览器卷去的高度  -  scrollLeft:被浏览器卷去的左右的高度(左右滚动条,可滚动区域(左右溢出部分)    约等于:

    1)当内容溢出时,不同浏览器得到的值不同;

    2)同一浏览器下,是否设置overflow:hidden得到的值也不同;

    -  window.onscroll(滑动滚轮的时候,多次触发的可视窗口的滚轮条  )

    - onload  页面加载之后立即执行 加载成功  - onerror 页面加载失败6:关于js盒子模型的小问题

    1)以上属性只能拿到复合值;无法拿到单独的值--getCss(获取非行间样式)

    2)以上属性只能拿到整数,无法拿到小数--解决不了,四舍五入

    3)关于js盒子模型的封装--win;

    4)offsetLeft只能求出当前元素的外边框,距离定位父级的内边框之间的距离,无法得到到body的距离

    封装 offset(求的是元素到body的偏移量)

    相关文章

      网友评论

          本文标题:js盒子模型

          本文链接:https://www.haomeiwen.com/subject/sjheqxtx.html