offset和scroll系列属性
一、元素的offset系列属性
1. offsetWidth和offsetHeight
无法通过 元素.style.样式属性名 获取内部和外联的样式值,但是可以获取行内样式值,返回一个字符串。
元素.offsetWidth; 和 元素.offsetHeight;
返回的是数字。大小包括 内容+padding+border。
1 <script> 2 var div = document.querySelector('div'); 3 console.log(div.offsetWidth); 4 console.log(div.offsetHeight); 5 </script>
offsetWidth和offsetHeight是只读的,不能设置。
2. offsetLeft和offsetTop
元素.offsetLeft;
元素.offsetTop;
返回的是数字
1 <body> 2 <div class="f"> 3 <div class="s"></div> 4 </div> 5 <script> 6 var s = document.querySelector('.s'); 7 console.log(div.offsetLeft); 8 console.log(div.offsetTop); 9 </script> 10 </body>
若元素没有定位时,获取的位置参照的时页面。(即元素在页面中的位置时多少)
若元素有定位(子绝父相定位),获取的位置参照的起点是上级元素。
3. offsetParent
1 <body> 2 <div class="f"> 3 <div class="s"></div> 4 </div> 5 <script> 6 var s = document.querySelector('.s'); 7 console.log(s.parentNode); //获取到父元素f 8 console.log(s.offsetParent); //获取到body 9 </script> 10 </body>
parentNode获取上级直接的父元素,从标签嵌套关系观察
offsetParent获取上级的参照位置的“父”元素,从定位关系观察
二、元素的client属性
1. clientWidth和clientHeight
元素.clientWidth;
元素.clientHeight;
获取元素的大小,包含内容+padding
2. clientLeft和clientTop
元素.clientLeft;
元素.clientTop;
获取边框的厚度
三、scroll系列属性
1. scrollWidth和scrollHeight
元素.scrollWidth;
元素.scrollHeight;
获取元素的大小,包含内容+padding+溢出部分大小
2. scrollLeft和scrollTop
有滚动条时,被卷去的页面间距
元素.scrollLeft;
元素.scrollTop;
若滚动条在窗口上时,事件注册给window
若获取被卷去的页面间距,但滚动条在窗口上时,并且事件注册给window,不要使用window调用scrollTop。
🍓 害,我是一个颜值前端。
✧*。٩(ˊᗜˋ*)و✧*。