Js之offset属性与style属性的区别
Js之offset属性
offset翻译过来就是偏移量, 我们使用 offset 系列相关属性可以动态的得到该元素的位置、大小等。
如果元素没有父级元素或者父级元素没有定位(祖先元素也可以),则以body为父级
.offsetWidth和.offsetHeight 返回的宽和高是包括padding 内容区 border的,但是不包括margin。
所以获取的是元素的实际宽高 = width + border + padding.
注意:offsetTop 返回的是数字,不带单位。而 style.top 返回的是字符串,除了数字外还带有单位:“px”。
offset系列和style系列的区别
offse属性
- offset 可以得到任意样式表中的样式值
- offset 属性获取到的值是一个number类型,不带单位
- offsetWidth,offsetHeight 包含padding+border+width
- offsetWidth,offsetHeight 等属性是只读属性,只能获取不能赋值
所以,想要获取元素大小位置,用offset更合适。
Js之style属性
style属性
- style 只能得到行内样式表中的样式值, offset都可以获得
- style.width 获得的是带有单位的字符串(是字符串)
- style.width 获得不包含padding和border 的值(获得的只是样式表里面写的width的值)
- style.width 是可读写属性,可以获取也可以赋值
- 最大区别在于 offsetLeft 可以返回没有定位盒子的距离左侧的位置。 而 style.top 不可以 只有定位的盒子 才有left top right
- 如果没有给 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属性的区别相关推荐
- DOM对象中的常用属性(innerHTML属性,innerText属性,className属性,style属性)
DOM对象中的常用属性 innerHTML属性 innerText属性 className属性 style属性 innerHTML属性 innerHTML属性:用于设置或获取HTML 元素中的内容. ...
- js中offset、client、scroll的区别
偏移量:offset dimension offsetHeight: 元素在垂直方向上占用的空间大小,以像素计.包括元素的高度.(可见的)水平滚动条的高度.上边框高度和下边框高度. offsetWid ...
- HTML样式offset[Direction] 和 style.[direction]的区别
为什么80%的码农都做不了架构师?>>> 以offsetLeft与style.left为例: offsetLeft使用的值是字符串,如"100px", st ...
- js外部样式和style属性的添加移除
在页面中,往往一个控件的外部样式或者内部样式往往不只一个,而我们只需操作其中一个样式该怎么办呢? 最开始我也不知道该怎么做,就用了最原始的方法,替换原有的样式为新的样式,这样每次都要获取原样式,找通用 ...
- js移除某个样式_js外部样式和style属性的添加移除
在页面中,往往一个控件的外部样式或者内部样式往往不只一个,而我们只需操作其中一个样式该怎么办呢? 最开始我也不知道该怎么做,就用了最原始的方法,替换原有的样式为新的样式,这样每次都要获取原样式,找通用 ...
- 用js实现改变随意改变div属性style的名称和值的结果
一些简单的例子,用原生js和jQuery实现随意改变div属性,和重置.代码如下: <!DOCTYPE html> <html> <head> <me ...
- 前端:JS/28/CSS DOM动态样式(style对象,style 对象属性与CSS属性的转换),Event DOM,事件对象简介(DOM和IE中的Event对象),实例:点出满天小星星
CSS DOM动态样式 使用JS操作CSS中的各个属性: JS只能操作或修改行内样式,如:imgObjstyle.border = "1px solid red"; 对于类样式,通 ...
- java div style_用js实现改变随意改变div属性style的名称和值的结果
一些简单的例子,用原生js和jQuery实现随意改变div属性,和重置.代码如下: 函数传参,改变Div任意属性的值 body,p{margin:0;padding:0;} body{color:#3 ...
- js 代码大全(各种方法、属性)
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcE ...
最新文章
- Spring3+MyBatis3整合无法输出SQL语句问题的解决
- beautysoup 爬虫
- VTK:可视化之CollisionDetection
- Electric device abnormal detection based on IoT and knowledge graph-学习笔记
- 【Python】Elasticsearch和elasticsearch_dsl
- 使用 Git Extensions 简单入门 Git
- Codeforces 754E:Dasha and cyclic table
- 模拟实现请求分页虚存页面替换算法_河北串口屏厂家:玻璃清洗机触摸屏实现数据交互功能...
- Vue 实现左边导航栏且右边显示具体内容(element-ui)
- ListView和SlidingDrawer
- [转载] python3 安装完Pycurl在import pycurl时报错
- D.E.Shaw——高频统计套利交易获利41亿美元
- AIR如何实现窗口顶置
- Excel - 添加趋势线,显示趋势线公式 - 进行行业投融资曲线拟合
- 结构思考力-读书笔记
- c语言去掉文件中重复单词,awk脚本 使用awk去掉重复的单词
- 如何隐藏并禁止查看U盘
- JPA之EntityManager踩坑笔记:更改PersistenceContext
- Tomcat 输入http://localhost:8080网页打不开
- Part III.S3. 对方案有偏好的直觉模糊多属性决策方法
热门文章
- java类加载器说法正确的_下面有关 java 类加载器,说法正确的是?()
- 如何提高自己的人格魅力
- css如何使文字抖动,纯CSS文字彩色抖动抖音效果
- 抖音纸短情长音乐计算机简谱,抖音纸短情长计算器简谱完整版 计算器纸短情长乐谱分享...
- 在线图片压缩免费的网站推荐
- Java的泛型特性_学习Java的重中之重!
- Qt中tr()函数的使用
- Charles 抓包 iPhone
- 舒缓腰部疲劳,减轻腰椎负担,酷轻松石墨烯气囊支撑腰带体验
- linux命令行提交代码以及一些命令行学习