.div1{
width: 200px;
height: 2000px;
padding: 10px;
margin: 5px;
border: 2px solid #ccc;
/* position: fixed;
left:20px;
top:10px; */
}
.c{
width: 100px;
height: 100px;
background-color: blueviolet;
position: absolute;
top:30px;
left:30px;
}
</style>
</head>
<body>
<div class="div1">
<!-- <div class="c"></div> -->
</div>
<button onclick="getScroll()">获取滚动条顶部的距离</button>
<script>
let divDom = document.querySelector('div')
/* width 只是content的宽度 */
// console.log( window.getComputedStyle(divDom,null).width )
/* offsetWidth = content 宽度 + 左右的padding + 左右的border */
// console.log( divDom.offsetWidth );
// console.log( divDom.offsetHeight );
/* clientWidth = content 宽度 + 左右的padding */
// console.log( divDom.clientWidth );
// console.log( divDom.clientHeight );
/* 在正常文档流下 offsetLeft(13) = body的margin-left(8) + divDom的margin-left(5) */
/* 脱离文档流的情况下 offsetLeft(25) = divDom的left(20) + divDom的margin-left(5) */
// console.log(divDom.offsetLeft);
/* 在正常文档流下 offsetTop(8) = body的margin-top(8) */
/* 脱离文档流的情况下 offsetTop(15) = divDom的top(10) + divDom的margin-top(5) */
// console.log(divDom.offsetTop);
/* offsetParent 自己相对于谁(父元素)偏移 */
// console.log( divDom.offsetParent ); => body
// let c = document.getElementsByClassName('c')[0];
/* c是绝对定位 是相对于divDom偏移的 所以他的偏移父元素是divDom */
// console.log( c.offsetParent ); /* =>divDom */
/* offsetParent 如果子元素的父元素是已经定位(relative,absolute,fixed)的元素,
那么他的offsetParent就是已经定位的父元素
如果不是已经定位的元素,那么他的offsetParent就是body
*/
function getScroll(){
/* 获取滚动条距离顶部的高度 */
console.log( document.documentElement.scrollTop );
}
/* 滚动条 滚动事件 */
document.onscroll = function (){
console.log( document.documentElement.scrollTop );
}
</script>
</body>