[TIL / CSS] vh와 vw

Changyun Go·2021년 12월 8일
0
post-thumbnail

[TIL / CSS] vh와 vw

  • viewport height와 viewport width를 의미한다.
  • 현재 실행중인 스크린 크기에 맞춰 상대적 크기를 반환한다.
  • 브라우저 높이값과 너비값의 100분의 1의 단위다. → 뷰포트 높이값이 900px일때 1vh는 9px이고, 뷰포트 너비값이 750px이면 1vw는 7.5px이 된다.

%와의 차이점


  • vh는 width, vw는 height에서도 사용할 수 있다.
  • vh와 vw는 열려있는 화면 전체의 상대 길이 이기 때문에 스크롤바를 포함한 길이를 반환한다.
  • % 값은 부모 요소애 상대적인 영향을 받기 때문에 좋은 방법이 아니다.

    생각처럼 동작하지 않는 height: 100%

    <div class="image">pig dog cat</div>
    .image {
      background-image: url(./swallow.jpg);
      height: 100%;
     }
    
    div를 화면에 완전히 채우기 위해 height:100%를 주어도 text 만큼의 높이 값만 갖게 된다.
    html, body {
      height: 100%;
    }
    
    .image {
      background-image: url(./swallow.jpg);
      height: 100%;
     }
    최상위 요소인 html까지 height: 100%를 주어야 div를 화면에 꽉 채울 수 있다.
    .image {
      background-image: url(./swallow.jpg);
      height: 100vh;
     }
    하지만 vh를 사용하면 상위 요소에 일일이 100%의 height을 주지 않고 구현할 수 있다.

vmin과 vmax


  • 뷰포트의 길이 중 더 긴 길이를 기준으로 삼으면 vmax, 더 짧은 길이를 기준으로 삼는 것은 vmin이다.
.box {
    height: 100vmin;
    width: 100vmin;
}

.box {
    height: 100vmax;
    width: 100vmax;
}

P.S.

✍️ 그동안 % 값으로 레이아웃을 조정하면서 답답한 점이 많았는데, 이제 vh와 vw로 편리하고 유연하게 사이즈 조절을 할 수 있을 것 같다😀

Reference


0개의 댓글