100vw가 수평 스크롤바를 일으키는 이유
This post is from my personal blog here
때때로 귀하의 사이트에 갑자기 가로 스크롤 막대가 나타나는 이유가 궁금하십니까? 오늘 나는 그것을 다시 만났고 (항상 😆) 어떻게 든 그것을 제거하는 방법을 알아 냈습니다. 여기 내가 디버그하고 수정하기 위해 취한 단계가 있습니다.
* {
border: 1px solid red;
}
var docWidth = document.documentElement.offsetWidth;
[].forEach.call(document.querySelectorAll('*'), function (el) {
if (el.offsetWidth > docWidth) {
console.log(el);
}
});
100vw
에서 항상 width
값을 찾습니다. 따라서 이 경우 대신 width: 100%
로 교체하여 작동하는지 확인할 수 있습니다. 존재하는 경우 내부 요소도 시도하십시오. 제목으로 돌아가서
100vw
원인은 무엇입니까? 답은 다음과 같습니다.When you set an element's width to
100vw
, the element's width now will be the wholeview width
of the browser and the important part is100vw
does not include thevertical scrollbar
'swidth
into its calculation at all. Therefore, when there is avertical scrollbar
, thetotal width
will be the sum of theelement's width
and thevertical scrollbar's width
, which causes the overflow on the x-axis and thus thehorizontal scrollbar
.
도움이 되었기를 바랍니다!
😃 잘못된 부분이 있으면 바로 수정해주세요.
Reference
이 문제에 관하여(100vw가 수평 스크롤바를 일으키는 이유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tepythai/why-100vw-causes-horizontal-scrollbar-4nlm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)