본문 바로가기

CSS 폰트크기 및 DIV 가로세로 단위 - In, Cm, mm, em, px

태비니 2025. 3. 29.

CSS에서 사용되는 다양한 길이 단위(px, em, rem, in, cm, mm)의 특징과 차이점을 알아봅니다. 폰트 크기와 DIV 요소의 가로세로 크기 설정에 적합한 단위를 선택하여 반응형 웹 디자인을 구현하는 방법을 상세히 설명합니다.

CSS에서 사용되는 길이 단위의 종류

CSS에서는 폰트 크기나 요소의 너비, 높이, 여백, 패딩 등을 지정할 때 다양한 길이 단위를 사용합니다. 이러한 단위들은 크게 절대 길이 단위상대 길이 단위로 구분됩니다.

절대 길이 단위

절대 길이 단위는 고정된 크기를 가지며, 다른 요소의 크기나 환경에 영향을 받지 않습니다.

  • px (픽셀): CSS의 "마법 단위"로 불리며, 화면에서 볼 수 있는 가장 작은 단위입니다. 1px은 1인치의 1/96에 해당합니다.
  • pt (포인트): 인쇄 매체에서 주로 사용되며, 1pt는 1인치의 1/72입니다.
  • pc (파이카): 1pc는 12pt와 같습니다.
  • in (인치): 1in은 2.54cm 또는 96px와 같습니다.
  • cm (센티미터): 물리적인 길이 단위로, 1cm는 약 37.8px입니다.
  • mm (밀리미터): 1mm는 1cm의 1/10입니다.

절대 길이 단위는 출력 매체가 알려진 경우, 특히 인쇄 레이아웃에서 유용하게 사용됩니다. 그러나 화면 크기가 다양한 웹에서는 권장되지 않습니다.

상대 길이 단위

상대 길이 단위는 다른 요소나 환경에 따라 크기가 변하는 유연한 단위입니다.

  • em: 현재 요소의 폰트 크기를 기준으로 합니다. 예를 들어, 2em은 현재 폰트 크기의 2배를 의미합니다.
  • rem: 루트 요소(일반적으로 html)의 폰트 크기를 기준으로 합니다.
  • %: 부모 요소의 크기를 기준으로 합니다.
  • vw: 뷰포트 너비의 1%를 의미합니다.
  • vh: 뷰포트 높이의 1%를 의미합니다.
  • vmin: 뷰포트의 작은 치수의 1%를 의미합니다.
  • vmax: 뷰포트의 큰 치수의 1%를 의미합니다.
  • ch: '0' 문자의 너비를 기준으로 합니다.
  • ex: 현재 폰트의 x-높이(소문자 x의 높이)를 기준으로 합니다.

상대 길이 단위는 다양한 화면 크기와 환경에서 더 잘 확장되므로 반응형 웹 디자인에 적합합니다.

폰트 크기 설정에 적합한 단위

em과 rem의 차이점

em은 현재 요소의 폰트 크기를 기준으로 하는 상대 단위입니다. 예를 들어, 부모 요소의 폰트 크기가 16px이고 자식 요소의 폰트 크기를 0.75em으로 설정하면, 자식 요소의 실제 폰트 크기는 12px(16px × 0.75)이 됩니다.

em의 계산 공식:

em = 원하는 픽셀 값 / 부모 요소의 폰트 크기(픽셀)

em 단위는 중첩 효과가 있습니다. 예를 들어:


  바깥 안쪽 바깥

이 경우, 브라우저 기본 폰트 크기가 16px이라면:

  • "바깥"은 25.6px(16px × 1.6)로 표시됩니다.
  • "안쪽"은 40.96px(25.6px × 1.6)로 표시됩니다.

이러한 중첩 효과는 때로는 의도하지 않은 결과를 가져올 수 있습니다.

rem은 루트 요소(html)의 폰트 크기를 기준으로 하므로 중첩 효과가 없습니다. 이는 더 예측 가능한 레이아웃을 만들 수 있게 해줍니다.

폰트 크기에 권장되는 단위

웹 디자인에서 폰트 크기를 설정할 때는 주로 em, rem, px를 사용합니다.

  • em과 rem: 사용자가 브라우저의 기본 폰트 크기를 변경했을 때 자동으로 조정되므로 접근성 측면에서 유리합니다.
  • px: 정확한 크기 제어가 필요할 때 유용하지만, 사용자의 브라우저 설정에 반응하지 않습니다.

웹 접근성과 반응형 디자인을 고려한다면 em이나 rem을 사용하는 것이 좋습니다. 특히 rem은 중첩 효과가 없어 더 예측 가능한 결과를 제공합니다.

DIV 요소의 가로세로 크기 설정

width와 height 속성

CSS에서 widthheight 속성은 요소의 너비와 높이를 설정하는 데 사용됩니다. 이 속성들은 패딩, 테두리, 마진을 포함하지 않고 요소 내부 영역의 크기만을 설정합니다.

div {
  width: 500px;
  height: 200px;
  background-color: lightblue;
}

max-width와 min-width

max-widthmin-width 속성은 요소의 최대 및 최소 너비를 설정합니다. 이는 반응형 디자인에서 특히 유용합니다.

div {
  max-width: 800px;
  min-width: 300px;
  width: 50%;
  background-color: lightblue;
}

이 예시에서 div 요소는 부모 요소 너비의 50%를 차지하지만, 최소 300px, 최대 800px의 제한이 있습니다.

DIV 크기 설정에 적합한 단위

DIV 요소의 크기를 설정할 때는 사용 목적과 환경에 따라 다양한 단위를 선택할 수 있습니다.

  • 픽셀(px): 정확한 크기 제어가 필요할 때 사용합니다. 예를 들어, 로고나 아이콘과 같은 요소의 크기를 설정할 때 유용합니다.
  • 퍼센트(%): 부모 요소에 상대적인 크기를 설정할 때 사용합니다. 반응형 레이아웃을 만드는 데 매우 유용합니다.
  • vw/vh: 뷰포트의 크기에 상대적인 크기를 설정할 때 사용합니다. 전체 화면 요소나 뷰포트에 비례하는 요소를 만들 때 유용합니다.
  • em/rem: 텍스트 기반 레이아웃이나 폰트 크기에 비례하는 요소를 만들 때 사용합니다.

단위 선택 가이드라인

화면 출력용 권장 단위

화면에 표시되는 웹 페이지의 경우:

  • 권장: em, px, %
  • 가끔 사용: ex
  • 권장하지 않음: pt, cm, mm, in, pc

인쇄용 권장 단위

인쇄 매체용 스타일시트의 경우:

  • 권장: em, cm, mm, in, pt, pc, %
  • 가끔 사용: px, ex
  • 권장하지 않음: 없음

단위 간 변환

절대 단위 간의 관계는 다음과 같습니다:

  • 1in = 2.54cm = 25.4mm = 72pt = 6pc = 96px

em을 px로 변환하는 방법:

px = em × 부모 요소의 폰트 크기(픽셀)

px을 em으로 변환하는 방법:

em = px / 부모 요소의 폰트 크기(픽셀)

브라우저 호환성

대부분의 단위는 모든 주요 브라우저에서 지원됩니다. 그러나 일부 최신 단위는 오래된 브라우저에서 지원되지 않을 수 있습니다.

  • em, ex, %, px, cm, mm, in, pt, pc: 모든 주요 브라우저에서 지원
  • rem: IE 9 이상, 기타 모든 최신 브라우저에서 지원
  • vw, vh: IE 9 이상, 기타 모든 최신 브라우저에서 지원
  • vmin, vmax: IE 11 이상, 기타 모든 최신 브라우저에서 지원

결론

CSS에서 길이 단위를 선택할 때는 프로젝트의 요구 사항과 대상 환경을 고려해야 합니다. 웹 디자인에서는 반응형 레이아웃을 위해 상대 단위(em, rem, %, vw, vh)를 사용하는 것이 좋습니다. 특히 폰트 크기에는 em이나 rem을 사용하고, 레이아웃 요소에는 %, vw, vh를 사용하는 것이 일반적입니다.

px 단위는 정확한 크기 제어가 필요한 경우에 유용하지만, 반응형 디자인에는 제한이 있을 수 있습니다. 인쇄 매체를 위한 스타일시트에서는 cm, mm, in, pt와 같은 절대 단위를 사용할 수 있습니다.

결국, 가장 중요한 것은 일관성 있게 단위를 사용하고, 사용자 경험과 접근성을 고려하여 적절한 단위를 선택하는 것입니다.

자주 묻는 질문

em과 rem의 차이점은 무엇인가요?

em은 현재 요소의 폰트 크기를 기준으로 하는 반면, rem은 루트 요소(html)의 폰트 크기를 기준으로 합니다. em은 중첩 효과가 있어 예측하기 어려울 수 있지만, rem은 항상 루트 요소를 기준으로 하므로 더 예측 가능합니다.

반응형 웹 디자인에 가장 적합한 단위는 무엇인가요?

반응형 웹 디자인에는 %, vw, vh, em, rem과 같은 상대 단위가 적합합니다. 이러한 단위는 다양한 화면 크기와 환경에 자동으로 적응합니다.

px 단위를 사용하면 안 되는 이유는 무엇인가요?

px 단위는 고정된 크기를 가지므로 사용자가 브라우저의 기본 폰트 크기를 변경했을 때 조정되지 않습니다. 이는 접근성 측면에서 문제가 될 수 있습니다. 그러나 정확한 크기 제어가 필요한 경우에는 여전히 유용합니다.

vw와 vh 단위는 어떤 경우에 사용하나요?

vw와 vh 단위는 뷰포트의 크기에 상대적인 크기를 설정할 때 사용합니다. 전체 화면 요소, 헤더, 풀스크린 배너 등을 만들 때 유용합니다.

인쇄용 스타일시트에서는 어떤 단위를 사용해야 하나요?

인쇄용 스타일시트에서는 cm, mm, in, pt와 같은 물리적 길이 단위를 사용하는 것이 좋습니다. 이러한 단위는 인쇄 매체에서 정확한 크기로 출력됩니다.

댓글