길잃은곰
길을 잃어 떠도는 곰
길잃은곰
전체 방문자
오늘
어제
  • 분류 전체보기 (87)
    • Algorithm (6)
    • HTML, CSS (9)
    • Frontend (1)
    • SW공학 (1)
    • WEB (4)
    • Javascript (29)
    • Typescript (0)
    • React (8)
    • Computer Science (11)
    • NEWS (0)
    • TIL(WIL) (4)
    • ETC (5)

블로그 메뉴

  • ✨깃허브
  • 홈
  • 태그
  • 방명록

인기 글

태그

  • JavaScript
  • ES8
  • Es5
  • REM
  • ES6
  • ES7
  • javascript2016
  • VW
  • 코드트리
  • Pixel
  • EM
  • PX
  • 자바스크립트
  • VH
  • element
  • 연탄
  • 코테
  • js2016
  • root-element
  • %
hELLO · Designed By 정상우.
길잃은곰

길을 잃어 떠도는 곰

HTML, CSS

[HTML/CSS] px, em, rem, vw, vh 에 대하여

2023. 1. 6. 09:22

용어 정리

px ( pixel ) : 픽셀
em ( element ) : 엘리멘트
rem ( root - element ) : 루트 엘리멘트
vw ( Viewport Width ) : 뷰포트 길이
vh ( Viewport Height ) : 뷰포트 높이

절대 길이 단위

px

px 는 고정 값을 쓰는 절대 길이 단위이다.
특정 뷰가 늘어나건 줄어들건에 관계없이 지정한 사이즈를 계속 보여준다

참고로 96px 는 1 인치라고 한다.

상대 길이 단위

em, rem, vw, vh 는 상대 길이 단위이다.

em, rem

em 과 rem 은 폰트에 비례한 크기로 em은 element 의 폰트 사이즈, rem은 root 의 element 사이즈이다.
em, rem 둘다 디폴트 값은 16px 이다.

<div class="root">
  <div class="child">
    <div class="rem-body">rem</div>
    <div class="em-body">em</div>
  </div>
</div>

<style>
  .root {    font-size: 16px;  }
  .child {    font-size: 18px;  }
  .rem-body {    font-size: 1rem;  }
  .em-body {    font-size: 1em;  }
</style>

라고 했을때 rem-body 는 16px, em-body 는 18px 의 크기를 가지게 되는것이다.
하지만 em 의 단점은 폰트 사이즈가 직관적이지 못하다는것에 있다

<div class="layer1">
  <span>1</span>
  <div class="layer2">
    <span>2</span>
    <div class="layer3">
      <span>3</span>
      <div class="layer4">
        <span>4</span>
      </div>
    </div>
  </div>
</div>

<style>
  .layer1 {    font-size: 2em;  }  /* 32px */
  .layer2 {    font-size: 2em;  }  /* 64px */
  .layer3 {    font-size: 2em;  }  /* 128px */
  .layer4 {    font-size: 2em;  }  /* 256px */
</style>

라고 가정했을때 4의 폰트 사이즈는 기본 크기인 16의 16배 값인 256px가 되게 된다.
rem 이였으면 root 값을 따라 똑같이 32px 로 고정되는것에 다른 결과가 나오게 되는것이다.

vh / vw 그리고 %

vh, vw 는 viewPort 에 비례하는 수치이다.

1vh, 1vw 는 각각 viewPort 의 1/100 의 수치를 가지고 있다.

viewPort 는 실제 사용자에게 보여지는 영역을 의미한다.

% 는 현재 포함된 부모요소에 비례한 상대적 크기를 의미한다.

즉 100vh 와 100% 의 차이는 스크롤 아래까지 포함해서 전부를 포함하는 방법은 100vh이고,

100% 는 현재의 부모 요소의 길이에 맞춰서 반환되는 형태이다.

저작자표시 비영리 동일조건 (새창열림)

'HTML, CSS' 카테고리의 다른 글

[CSS] display 속성에 대해  (0) 2023.01.06
[CSS] Margin 과 Padding 의 차이점  (0) 2023.01.06
[CSS] Position 속성  (0) 2023.01.06
[CSS] SCSS 에 대하여  (0) 2023.01.06
[CSS] 반응형 웹사이트 란 무엇인가 ( Feat. 적응형 웹 사이트 )  (0) 2023.01.06
    'HTML, CSS' 카테고리의 다른 글
    • [CSS] Margin 과 Padding 의 차이점
    • [CSS] Position 속성
    • [CSS] SCSS 에 대하여
    • [CSS] 반응형 웹사이트 란 무엇인가 ( Feat. 적응형 웹 사이트 )
    길잃은곰
    길잃은곰

    티스토리툴바