HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
💌
JJong’s Archive
/
요소와 window의 크기

요소와 window의 크기

Tags
HTML
Study Date
Oct 30, 2023
Status
Done
생성 일시
Oct 30, 2023 08:20 AM
Day
~ 단위는 모두 픽셀 ~
 
  • window.scrollY(pageYOffset)
    • 문서가 수직으로 얼마나 스크롤됐는가(즉, 현재 보이는 문서의 시작 높이)
  • window.innerHeight
    • 수평 스크롤 막대 높이를 포함한 창 내부 높이 (즉, 보이는 창 높이)
 
notion image
 

 
  • elem.clientHeight
    • 요소의 높이+패딩을 정수로 반환
    • 오버플로우와 무관하게 엘리먼트의 높이를 측정
  • elem.offsetHeight
    • clientHeight + border + 스크롤 막대
    • 오버플로우와 무관하게 엘리먼트의 높이를 측정
    • document.body나 document.documentElement 로 전체 창을 계산할 수 있다
  • elem.scrollHeight
    • 오버플로우로 인해 화면에 표시되지 않는 콘텐츠를 포함한 엘리먼트의 전체 높이를 측정한 것
 
notion image

  • window.innerHeight vs clientHeight
    • innerHeight는 요소 상관없이 브라우저 창 크기를 말한다. 사이즈를 조절할 때마다 달라짐
    • clientHeight는 요소 크기
 
  • documentElement vs body
    • documentElement: 최상위 html 요소, 지원하지 않는 브라우저도 있음
    • body : body 요소
    •  
  • pageYOffset vs scrollY
    • pageYOffset : IE를 호환함
    • scrollY : IE 호환 x
    •  

  • 엘리먼트의 크기를 따로 지정해주지 않으면 콘텐츠 크기(엘리먼트의 자식의 크기)가 엘리먼트 크기가 된다
    • 따라서 엘리먼트의 크기를 지정해주지 않으면, 오버플로우(엘리먼트의 크기보다 콘텐츠 크기가 더 클 때 나타남)가 일어나지 않아서 scroll~과 offset~가 같게 된다
  • border나 보여지는 스크롤 막대가 없으면 offset~과 client~가 같게된다
    •  

elem.offsetTop / elem.offsetLeft : elem 요소가 parent 요소의 위/왼쪽으로 얼마만큼 떨어졌는지 반환