ABOUT ME

Today
Yesterday
Total
  • [CSS] em과 rem의 차이
    개발/CSS 2023. 6. 11. 16:37

    css에서 나타내는 상대적인 길이의 단위를 나타냅니다.

    그 대상이 상위 객체에 해당하는 크기에 기준하여 자동으로 사이즈를 재조정해줍니다.

    • 상대 단위와 절대 단위절대단위: px, pt나 cm, in와 같은 실생활에서 많이 사용되는 단위들도 절대단위 범주에 속합니다.
    • 상대단위: em, rem말고 %, vw, vh 등이 대표적인 css 상대 단위입니다.

    em

    • 해당 길이가 적용된 객체의 직계 부모의 길이 기준

    rem

    • DOM Tree 에서 가장 상단에 있는 객체의 길이를 기준
    <!DOCTYPE html>
    <html lang="ko">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <link href="./style.css" rel="stylesheet" />
        <title>em, rem 차이</title>
      </head>
      <body>
        <div class="parent">
          <div class="em">이것은 <code>em</code>입니다.</div>
          <div class="rem">이것은 <code>rem</code>입니다.</div>
        </div>
      </body>
    </html>
    
    html{
    	font-size: 16px;
    }
    
    .parent{
    	font-size: 24px;
    }
    
    .em{
    	font-size: 1.5em; /* 36px */
    	margin: 2em /* 48px */
    	padding: 1.25em /* 30px */
    }
    
    .rem{
    	font-size: 1.5rem; /* 24px */
    	margin: 2rem /* 32px */
    	padding: 1.25rem /* 20px */
    }
    

    css경험이 적고, css간 영향을 미치는 범위를 정확히 확신할 수 없다면 rem을 사용하는 것을 추천 및 권고합니다.

    em은 길이 환산에 영향을 미치는 변수들이 많고, 추후 DOM Tree가 바뀌게 될 경우 이에 대한 핸들링을 하기 상대적으로 까다롭기 때문입니다.

Designed by Tistory.