첫날부터 저에게는 신비가있었습니다. 그리고 그것은 여전히 있습니다. 시간이 그것을 밝혀 내기 위해 왔습니다. 그래서 나는 을 포함하는 test page을 만들었습니다. 범위는 변경할 수 있습니다. 관련 속성의 값을 표시하는 정보 패널 단순하게 Chrome을 사용합시다.html 페이지 크기를 어떻게 이해합니까?
기본 body
이익률은 8px
입니다. html
님의 배경이 청색이면 body
님의 녹색이며 div
은 빨간색입니다. 그리고 여기서 우리는 html
의 offsetHeight
이 body.offsetHeight + 2 * body.margin
과 같고 단지 body
인 것처럼 보입니다. 그러나 html.clientHeight
== window.innerHeight
, 마치 뷰포트를 채우는 것처럼 늘어납니다.
div
의 폭
1000px
수 있도록)의 수평 스크롤 막대를 추가 할 수 있도록 : 왼쪽
html
및 body
이동. body
의 scrollLeft
은 스크롤바를 소유하고있는 것처럼 window.pageXOffset
과 동기화되어 변경됩니다. 스크롤바가 추가되어 html
의 clientHeight
이 변경되었습니다.
지금 모두
html
의 범위는 (
offsetWidth
및
clientWidth
)를 변경했습니다. 어떤 제안은 스크롤바를 소유하지 않습니다. 양쪽 모두의 스크롤와
그리고 마지막으로, :
음,이 시점에서 상황이 더 많거나 clear 덜 내게된다. 적어도 Chrome을 고려하는 한. 그러나 내가 알고 싶어하는 몇 가지 것들이 여전히 있습니다.
어떻게
html
의이clientHeight
가능성이offsetHeight
적은 다음이 될 수 오지? "그저 그렇습니다"보다 더 나은 설명이 있습니까?왜 페이지를 스크롤 할 때
body
의scrollLeft
/scrollTop
이 변경됩니까? 그것은 스크롤바를 소유하지 않습니다. 그렇죠?
일부 요약본도 있습니다.