Js之offset属性

offset翻译过来就是偏移量, 我们使用 offset 系列相关属性可以动态的得到该元素的位置、大小等。
如果元素没有父级元素或者父级元素没有定位(祖先元素也可以),则以body为父级
.offsetWidth和.offsetHeight 返回的宽和高是包括padding 内容区 border的,但是不包括margin。
所以获取的是元素的实际宽高 = width + border + padding.

注意:offsetTop 返回的是数字,不带单位。而 style.top 返回的是字符串,除了数字外还带有单位:“px”。

offset系列和style系列的区别

offse属性

  1. offset 可以得到任意样式表中的样式值
  2. offset 属性获取到的值是一个number类型,不带单位
  3. offsetWidth,offsetHeight 包含padding+border+width
  4. offsetWidth,offsetHeight 等属性是只读属性,只能获取不能赋值

所以,想要获取元素大小位置,用offset更合适。

Js之style属性

style属性

  1. style 只能得到行内样式表中的样式值, offset都可以获得
  2. style.width 获得的是带有单位的字符串(是字符串)
  3. style.width 获得不包含padding和border 的值(获得的只是样式表里面写的width的值)
  4. style.width 是可读写属性,可以获取也可以赋值
  5. 最大区别在于 offsetLeft 可以返回没有定位盒子的距离左侧的位置。 而 style.top 不可以 只有定位的盒子 才有left top right
  6. 如果没有给 HTML 元素指定过 top 样式,则 style.top 返回的是空字符串。

所以,想要给元素更改值,则需要用style改变

代码加图加深理解

//css样式<style>div{height: 200px;width: 200px;background-color: blueviolet;margin: auto;}</style>//html<!-- div盒子 --><div>我是div</div>//js<script>var div = document.querySelector("div");// 获取元素高度console.log(div.offsetHeight);// 获取元素宽度console.log(div.offsetWidth);//获取元素距离父级顶部的距离,这里div的父级是document元素console.log(div.offsetTop);//获取元素距离父级左边的距离,这里div的父级是document元素console.log(div.offsetLeft);</script>

Js之offset属性与style属性的区别相关推荐

  1. DOM对象中的常用属性(innerHTML属性,innerText属性,className属性,style属性)

    DOM对象中的常用属性 innerHTML属性 innerText属性 className属性 style属性 innerHTML属性 innerHTML属性:用于设置或获取HTML 元素中的内容. ...

  2. js中offset、client、scroll的区别

    偏移量:offset dimension offsetHeight: 元素在垂直方向上占用的空间大小,以像素计.包括元素的高度.(可见的)水平滚动条的高度.上边框高度和下边框高度. offsetWid ...

  3. HTML样式offset[Direction] 和 style.[direction]的区别

    为什么80%的码农都做不了架构师?>>>    以offsetLeft与style.left为例: offsetLeft使用的值是字符串,如"100px", st ...

  4. js外部样式和style属性的添加移除

    在页面中,往往一个控件的外部样式或者内部样式往往不只一个,而我们只需操作其中一个样式该怎么办呢? 最开始我也不知道该怎么做,就用了最原始的方法,替换原有的样式为新的样式,这样每次都要获取原样式,找通用 ...

  5. js移除某个样式_js外部样式和style属性的添加移除

    在页面中,往往一个控件的外部样式或者内部样式往往不只一个,而我们只需操作其中一个样式该怎么办呢? 最开始我也不知道该怎么做,就用了最原始的方法,替换原有的样式为新的样式,这样每次都要获取原样式,找通用 ...

  6. 用js实现改变随意改变div属性style的名称和值的结果

    一些简单的例子,用原生js和jQuery实现随意改变div属性,和重置.代码如下: <!DOCTYPE html> <html> <head>     <me ...

  7. 前端:JS/28/CSS DOM动态样式(style对象,style 对象属性与CSS属性的转换),Event DOM,事件对象简介(DOM和IE中的Event对象),实例:点出满天小星星

    CSS DOM动态样式 使用JS操作CSS中的各个属性: JS只能操作或修改行内样式,如:imgObjstyle.border = "1px solid red"; 对于类样式,通 ...

  8. java div style_用js实现改变随意改变div属性style的名称和值的结果

    一些简单的例子,用原生js和jQuery实现随意改变div属性,和重置.代码如下: 函数传参,改变Div任意属性的值 body,p{margin:0;padding:0;} body{color:#3 ...

  9. js 代码大全(各种方法、属性)

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

最新文章

  1. Spring3+MyBatis3整合无法输出SQL语句问题的解决
  2. beautysoup 爬虫
  3. VTK:可视化之CollisionDetection
  4. Electric device abnormal detection based on IoT and knowledge graph-学习笔记
  5. 【Python】Elasticsearch和elasticsearch_dsl
  6. 使用 Git Extensions 简单入门 Git
  7. Codeforces 754E:Dasha and cyclic table
  8. 模拟实现请求分页虚存页面替换算法_河北串口屏厂家:玻璃清洗机触摸屏实现数据交互功能...
  9. Vue 实现左边导航栏且右边显示具体内容(element-ui)
  10. ListView和SlidingDrawer
  11. [转载] python3 安装完Pycurl在import pycurl时报错
  12. D.E.Shaw——高频统计套利交易获利41亿美元
  13. AIR如何实现窗口顶置
  14. Excel - 添加趋势线,显示趋势线公式 - 进行行业投融资曲线拟合
  15. 结构思考力-读书笔记
  16. c语言去掉文件中重复单词,awk脚本 使用awk去掉重复的单词
  17. 如何隐藏并禁止查看U盘
  18. JPA之EntityManager踩坑笔记:更改PersistenceContext
  19. Tomcat 输入http://localhost:8080网页打不开
  20. Part III.S3. 对方案有偏好的直觉模糊多属性决策方法

热门文章

  1. java类加载器说法正确的_下面有关 java 类加载器,说法正确的是?()
  2. 如何提高自己的人格魅力
  3. css如何使文字抖动,纯CSS文字彩色抖动抖音效果
  4. 抖音纸短情长音乐计算机简谱,抖音纸短情长计算器简谱完整版 计算器纸短情长乐谱分享...
  5. 在线图片压缩免费的网站推荐
  6. Java的泛型特性_学习Java的重中之重!
  7. Qt中tr()函数的使用
  8. Charles 抓包 iPhone
  9. 舒缓腰部疲劳,减轻腰椎负担,酷轻松石墨烯气囊支撑腰带体验
  10. linux命令行提交代码以及一些命令行学习