웹 사이트 디자인에서 자주 묻는 질문은 "요소 높이를 100 %로 설정하는 방법"입니다.
이것은 쉬운 대답처럼 보일 수 있습니다. CSS를 사용하여 요소의 높이를 100 %로 설정하기 만하면 브라우저 창 전체에 맞게 요소가 늘어나는 것은 아닙니다. 왜 이런 일이 일어나고이 비주얼 스타일을 달성하기 위해 무엇을 할 수 있는지 알아 보겠습니다.
픽셀 및 백분율
CSS 속성과 픽셀을 사용하는 값을 사용하여 요소의 높이를 정의하면 해당 요소는 브라우저에서 많은 수직 공간을 차지합니다. 예를 들어,
높이 : 100px;
디자인에서 100 픽셀의 수직 공간을 차지합니다. 브라우저 창 크기가 중요하지 않은 경우이 요소의 높이는 100 픽셀입니다. 백분율은 픽셀보다 다르게 작동합니다. W3C 사양에 따르면 높이의 백분율은 컨테이너 높이에 따라 계산됩니다. 그래서 단락을 높이 : 50 %;
100px 높이의 div 내부에서는 단락의 높이가 50 픽셀로 부모 요소의 50 %입니다. 웹 페이지를 디자인 할 때 창 전체 높이를 차지할 열이 있다면 자연스러운 성향은 높이 : 100 %;
그 요소에. 결국, 당신이 폭
에 너비 : 100 %;
요소는 페이지의 전체 가로 공간을 차지하므로 신장
똑같이 작동해야합니다, 맞습니까? 불행히도, 이것은 전혀 그렇지 않습니다. 왜 이렇게되는지 이해하려면 브라우저가 높이와 너비를 해석하는 방법을 이해해야합니다. 웹 브라우저는 사용 가능한 총 너비를 브라우저 창을 여는 정도에 따라 계산합니다. 폭
문서에 어떤 값도 설정하지 않으면 브라우저는 자동으로 윈도우의 전체 너비를 채우도록 내용을 흐르게합니다 (기본값은 100 %입니다). 높이 값은 너비와 다르게 계산됩니다. 사실 브라우저는 내용이 너무 길어서 뷰포트 외부로 나가기 (스크롤 막대가 필요함) 또는 웹 디자이너가 페이지의 요소에 절대 값을 설정하지 않으면 높이를 전혀 평가하지 않습니다. 신장
그렇지 않으면 브라우저는 내용이 끝날 때까지 뷰포트 너비 내에서 단순히 흐르게합니다. 높이는 실제로 계산되지 않습니다. 높이가 설정되지 않은 부모 요소가있는 요소에 백분율 높이를 설정하면 문제가 발생합니다. 즉, 부모 요소에 기본값이 있습니다. 높이 : 자동;
사실상 브라우저는 정의되지 않은 값으로부터 높이를 계산하도록 요청합니다. null 값과 같으므로 브라우저는 아무 것도하지 않습니다. 웹 페이지의 높이를 백분율로 설정하려면 높이를 설정해야합니다. …마다 높이를 정의하고자하는 요소의 부모 요소입니다. 즉, 다음과 같은 페이지가있는 경우 : 여기 콘텐츠
너는 아마도 div
그리고 그것의 단락은 100 %의 높이를 갖지만 그 div는 실제로 두 상위 요소 : 과. 높이를 정의하기 위해 div
상대 높이로 설정하려면 높이를 신체
과 HTML
요소들도 마찬가지입니다. 따라서 CSS를 사용하여 div뿐 아니라 본문 및 HTML 요소의 높이를 설정해야합니다. 100 % 높이로 설정 한 모든 것을 빨리 처리 할 수 있으므로 원하는 효과를 얻으려면이 작업이 어려울 수 있습니다. 이제 페이지 요소의 높이를 100 %로 설정하는 방법을 알게되었으므로 이동하여 모든 페이지에 적용하는 것이 흥미로울 수 있습니다. 그러나 알아 두어야 할 몇 가지 사항이 있습니다. 이 문제를 해결하려면 요소의 높이도 설정할 수 있습니다. 그것을 설정하면 자동,
필요에 따라 스크롤바가 표시되지만 그렇지 않은 경우에는 사라집니다.비주얼 브레이크가 수정되었지만 원하지 않는 곳에 스크롤바가 추가되었습니다. 이 문제를 해결할 수있는 또 다른 방법은 CSS 뷰포트 단위로 실험하는 것입니다. 뷰포트 높이 단위를 사용하여 뷰포트의 정의 된 높이를 차지하도록 요소의 크기를 조정할 수 있으며, 뷰포트가 변경되면 변경됩니다. 이것은 페이지에서 100 % 높이의 영상을 얻는 좋은 방법이지만 다른 장치 및 화면 크기에 대해 유연하게 사용할 수 있습니다. 백분율 높이가 실패하는 이유
100 % 높이에서 작업 할 때주의해야 할 사항
뷰포트 단위 사용