freddy
느낌으로 남지않기
freddy
전체 방문자
오늘
어제
  • 분류 전체보기 (28)
    • HTML (2)
    • CSS (1)
    • JavaScript (8)
    • WebGL (0)
    • 개념정리 (0)
    • React (2)
    • ReactNative (4)
    • ERROR.LOG (3)
    • 설치 (2)
    • 챌린지 (0)
    • 책 (0)
    • 세미나 (2)
    • 일기장 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • react
  • javascript30
  • react 기초
  • Shorthand property names
  • 리액트의 필요성
  • react 특징
  • React Native
  • Optional chainning
  • javascript 최신문법
  • JS
  • Destructuring assignment
  • 최신JS문법
  • evnet 위임
  • javscript 기초
  • JavaScript
  • css variables
  • 프론트엔드
  • react 사용하는 이유
  • React-Native
  • em과rem차이
  • Nullish coalescing operator
  • javascript 이벤트 위임
  • bitnami ubuntu
  • Spread syntax
  • 브라우저 동작 원리
  • es11
  • Github Actions
  • 앱이 계속 중지됨
  • BOM 이란?
  • 값식문

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
freddy

느낌으로 남지않기

CSS

CSS 단위 em 과 rem 정리

2022. 5. 23. 11:53
반응형

절대적인 속성에 사용하는 단위에는 px를 사용하고

상대적인 속성에는 %, v*(뷰포트), em, rem을 사용합니다.

 

단위를 사용하는 기준

첫 번째로 나누는 기준은

  • 부모 요소의 사이즈에 따라서 사이즈가 변경이 돼야 한다면

              ->  %, em 을 사용합니다.

  • 부모 요소와는 상관없이 브라우저 사이즈에 대해서 반응해야 한다면

             -> v*(뷰포트), rem을 사용합니다.

 

두 번째로 나누는 기준은

  • 요소의 너비와 높이에 따라서 사이즈가 변경되어야 한다면

           -> %, v*(뷰포트) 를 사용합니다.

  • font 사이즈에 따라서 사이즈가 변경되어야 한다면

           -> em, rem을 사용합니다.

 

 

rem

rem을 사용해서 스타일을 적용하게 되면 root 요소 (html)의 font size에 따라서 크기가 결정되기 때문에

페이지 내에 어느곳에서 사용하여도 동일한 크기를 유지합니다. 

그 이유는 부모 컨테이너에 있는 font size와는 상관없이 루트 요소의 font size 기준으로 하기 때문에 어느 박스 안에서 사용하여도 동일한 크기를 유지할 수 있습니다.

 

em

em을 사용해서 스타일을 적용하게 되면 페이지 내에 크기가 다르게 적용될 수 있습니다. 그 이유는 em 요소는 부묘 요소의 font size에 따라 상대적으로 변하기 때문입니다.

 

 

그래서 해당 컴포넌트가 페이지 어디에서도 동일한 크기로 적용되어야 한다면 rem 을 사용하고 반대로 해당 컴포넌트가 어디에 사용되냐에 따라서 즉 부모 요소에 따라서 사이즈가 유동적으로 변경되어야 한다면(font size에 따라 발생할 수 있는 padding, margin 등) em을 사용해서 만드는 게 좋습니다.

 

 

결론

box 자체를 사이즈를 결정할 때는 %, v*, flex를 이용하여 유동적으로 만드는 것이 좋고 요소의 font size를 결정할 때는 root를 상대로 변경되어야 한다면 rem을 부모 요소 상대로 변경되어야 한다면 em을 사용하면 됩니다.

 

 

Tip

font-size를 정할 때는 부모 요소 기준으로 계산되는 rem을 사용하는 것을 추천합니다.

 

 

추천 사이트: px to em, rem

https://codebeautify.org/rem-to-px-converter

 

REM to PX Converter Online

REM to PX Converter online tool is helps to convert REM value into PX value.

codebeautify.org

 

출처:   https://www.youtube.com/watch?v=xWMKz9NCD0k

 

 

반응형
    freddy
    freddy

    티스토리툴바