[CSS] Pretendard 숫자 데이터 고정폭 적용하기

2025. 5. 7. 20:20·Front-End/HTML, CSS, JS

 

사내 백오피스 프로젝트에서 숫자의 단위가 같은데

폰트의 크기가 달라 가독성이 떨어진다는 요구사항을 받았습니다.

 

이 프로젝트는 특성상 가격 데이터를 많이 다루기 때문에

숫자의 가독성이 중요했습니다.

해결방법 함께 알아봅시다. 😀

 


📝 문제 상황

https://en.wikipedia.org/wiki/Monospaced_font

 

⦁가변폭 폰트 vs 고정폭 폰트

해당 현상이 발생한 이유는 사용중인 Pretendard 폰트가 가변폭 폰트이기 때문입니다.

⦁ 가변폭 폰트 (Proportional Font)
글자마다 너비가 서로 다르게 설정된 폰트입니다. 예를 들어 i는 좁고, m은 넓게 표시됩니다.

- 일반적인 본문에 사용

⦁ 고정폭 폰트 (monospaced font, fixed-pitch, fixed-width, non-proportional font)
모든 글자와 기호가 동일한 너비를 가지는 폰트입니다. i, m, 1, W가 모두 같은 폭을 차지합니다.

- 숫자가 나란히 보여야 할 때
- 시계나 타이머 (ex. 12:34:56)
- 가격 리스트 (ex. ₩1,000 / ₩10,000 / ₩100,000)
- 회계나 통계 관련 표

 

 


📝 해결 방법

https://github.com/orioncactus/pretendard/discussions/110

✅ Pretendard는 고정폭 숫자 기능을 지원합니다. 사용하는 폰트가 고정폭 숫자를 지원하는지 확인해보세요 !

 

// globlas.css
body {
  font-family: 'Pretendard', sans-serif;
  /* 
   font-variant-numeric: 숫자(0~9)의 스타일을 조절하는 CSS 속성입니다.
   tabular-nums: 숫자들을 같은 폭으로 출력하도록 지정합니다. 
  */
  font-variant-numeric: tabular-nums;
}

폰트 자체를 고정폭 폰트로 바꾸는 방법도 있지만 숫자에만 적용하고 싶을 경우

font-variant-numeric를 사용할 수 있습니다.

 

⦁적용 결과

 

숫자의 폰트 크기가 고정되어 가독성이 훨씬 개선되었습니다 ! 😎

 


 


참고 문헌 : 

https://en.wikipedia.org/wiki/Monospaced_font

https://velog.io/@aneb/css-%EA%B0%80%EB%B3%80%ED%8F%AD-%ED%8F%B0%ED%8A%B8%EB%A5%BC-%EA%B3%A0%EC%A0%95%ED%8F%AD-%ED%8F%B0%ED%8A%B8%EB%A1%9C-%EB%B0%94%EA%BE%B8%EB%8A%94-%EB%B0%A9%EB%B2%95

'Front-End > HTML, CSS, JS' 카테고리의 다른 글

[JS] 회원가입 페이지 사용자 입력 유효성 검사 (정규식, 비정규식)  (0) 2022.09.14
[JS] 자바스크립트 공학용 계산기 만들기  (1) 2022.09.13
[HTML] <form>을 사용한 로그인 페이지 구현 (audio 음악재생)  (0) 2022.09.10
[JS] 자바스크립트 글자 미리보기 (String 메서드, getElementBy)  (0) 2022.09.08
'Front-End/HTML, CSS, JS' 카테고리의 다른 글
  • [JS] 회원가입 페이지 사용자 입력 유효성 검사 (정규식, 비정규식)
  • [JS] 자바스크립트 공학용 계산기 만들기
  • [HTML] <form>을 사용한 로그인 페이지 구현 (audio 음악재생)
  • [JS] 자바스크립트 글자 미리보기 (String 메서드, getElementBy)
현기
현기
  • 현기
    현기의 개발블로그
    현기
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • Front-End (39)
        • Next (5)
        • React (8)
        • React Native (11)
        • Flutter (0)
        • Vue (1)
        • JSP (9)
        • HTML, CSS, JS (5)
      • Back-End (16)
        • Node.js (3)
        • Spring (8)
        • Flask (1)
        • AWS (4)
      • DB (5)
        • Oracle (4)
        • MySQL (1)
      • Python (7)
      • Java (27)
        • 자바 이론 (17)
        • 코딩테스트 연습 & 실습 (10)
      • 자료구조 & 알고리즘 (7)
        • 코딩테스트 (6)
        • 알고리즘 (1)
      • 블록체인 (0)
      • 프롬프트 엔지니어링 (0)
      • CS 지식 (5)
      • IT뉴스 (0)
      • 일상 (3)
      • etc (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DI
    파이썬
    IS-A
    상속
    Java
    node.js
    그리디
    react-native-chart-kit
    오라클
    react
    Spring
    오블완
    자바
    next-intl
    자바스크립트
    React Native
    Express
    쓰레드
    리액트 네이티브
    서블릿
    JDBC
    포스트맨
    JSP
    티스토리챌린지
    자바 스프링
    Python
    React Native Chart
    큐
    REST API
    스택
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
현기
[CSS] Pretendard 숫자 데이터 고정폭 적용하기
상단으로

티스토리툴바