FrontEnd
Javascript
Diary
ML
CS
Django
Algorithm
AWS
Co-Work
HTML
CSS
Python
React
ReactNative

Element Height Type And Mouse Event Position

JS로 HTML element를 다루다보면 clientHeight, offsetHeight과 같은 것을 마주할 때가 있다. 더 나아가 event를 다룰때는 screenX, pageX와 같은 좌표값을 보게 되는데 이에 대해 간단히 정리를 해보자.


HTML element

Client Height

content + padding ==> 실제로 현재 browser에서 보이는 부분

offset Height

content + padding + border + scrollbar ==> 영역의 border나 심지어 scrollbar영역까지 포함한 부분(client + scrollbar + border라고 생각)

Scroll Height

content가 가진 높이로 scroll을 내려서 봐야하는 부분까지(현재는 안 보이는 부분) 포함한 부분을 말한다


Event에서의 position

screen X

스크린이라는 말 그대로 사용자가 보는 스크린을 기준으로 좌표를 가져온다. 뷰포트를 기준으로 가져온다고 생각하면 되겠다.

client X

client라는 단어가 의미하는 것처럼 사용자가 보는 client프로그램 즉, browser를 기준으로 위치를 가져온다.

page X

html document를 기준으로 위치를 가져오는데 height가 길어서 scroll이 생기면 생기는대로 html문서의 전체 높이와 너비를 기준으로 위치를 가져온다

따라서 일반적으로 HTML문서의 가로 너비는 브라우저와 동일한 경우가 많아서 pageX와 clientX가 같은 경우가 많다.

offset X

우리의 특정 이벤트가 일어나는 대상 element target을 기준으로 위치를 가져온다

예를 들면 우리가 누른 div 내에서 x로 얼마만큼, y로 얼마만큼 떨어져있는지를 의미한다.

Disk Management & Scheduling

Disk 구조 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들 주소를 가진 1차원 배열처럼 취급 (정보를 전송하는 최소단위) logical block이 물리적인 dis…

운동과 개발의 상관관계

본 글은 전적으로 글쓴이의 마음을 다잡기위해 작성된 글입니다. 운동과 개발의 상관관계 : 운동을 하면 거북목에 효과가 있고 손목도 건강해져 오래오래 개발을 할 수 있다. 이렇듯 …

Pandas Reference

내가 보기위해서 옮겨온 Pandas Reference Pandas Pandas란 오픈소스로 높은 성능과 사용하기 쉬운 데이터 구조를 제공해준다 Python language로 이루…