padding

요소 내부의 간격을 설정하는 속성입니다. 방향별 접두사(pt, pr, pb, pl)로 개별 제어하거나, Atomic CSS 전용 축약인 px(좌우)와 py(상하)로 편리하게 지정합니다.

클래스 목록

접두사 뒤에 단위 포함 값을 붙여 사용합니다. 20px 미만은 px, 20px 이상은 rem(1rem = 10px)을 사용합니다.

접두사CSS 속성예시CSS 출력
ppaddingp16pxpadding: 16px
ppaddingp2rempadding: 2rem (20px)
ptpadding-toppt8pxpadding-top: 8px
prpadding-rightpr16pxpadding-right: 16px
pbpadding-bottompb2-4rempadding-bottom: 2.4rem (24px)
plpadding-leftpl4rempadding-left: 4rem (40px)
pxpadding-left + padding-rightpx16pxpadding-left: 16px; padding-right: 16px
pypadding-top + padding-bottompy8pxpadding-top: 8px; padding-bottom: 8px
ppadding (% 단위)p5ppadding: 5%
ptpadding-top (em)pt1empadding-top: 1em

px / py — 수평 / 수직 축약

pxpy는 표준 CSS에는 없는 Atomic CSS 전용 축약입니다. 좌우 또는 상하 padding을 한번에 지정하여, 두 클래스를 쓸 필요 없이 하나로 처리합니다.

클래스CSS 출력동일한 개별 클래스
px8pxpadding-left: 8px; padding-right: 8pxpl8px pr8px
px16pxpadding-left: 16px; padding-right: 16pxpl16px pr16px
px2rempadding-left: 2rem; padding-right: 2rempl2rem pr2rem
py4pxpadding-top: 4px; padding-bottom: 4pxpt4px pb4px
py12pxpadding-top: 12px; padding-bottom: 12pxpt12px pb12px
py4rempadding-top: 4rem; padding-bottom: 4rempt4rem pb4rem
<!-- px: 좌우 동시 적용 -->
<div class="px2rem">좌우 20px padding</div>
<!-- 위와 동일: -->
<div class="pl2rem pr2rem">좌우 20px padding</div>

<!-- py: 상하 동시 적용 -->
<div class="py4rem">상하 40px padding</div>
<!-- 위와 동일: -->
<div class="pt4rem pb4rem">상하 40px padding</div>

<!-- px + py 조합 (버튼) -->
<button class="py8px px16px bg6366F1 cFFFFFF br8px bn cp">
  Button
</button>

px / py 시각적 비교

px2rem (좌우 20px)

px2rem

py2rem (상하 20px)

py2rem

px16px py8px (버튼 패턴)

Button

px2rem py4rem (섹션 패턴)

Section Content

단위 비교

동일한 간격을 px, rem, %, em으로 표현하는 예시입니다. 기준: html { font-size: 10px }

간격pxrem%em
8pxp8pxp0-8remp1pp0-8em
12pxp12pxp1-2remp2pp1-2em
16pxp16pxp1-6remp3pp1-6em
20pxp20pxp2remp5pp2em
32pxp32pxp3-2remp8pp3-2em
40pxp40pxp4remp10pp4em

시각적 비교

padding 값에 따라 요소 내부 간격이 어떻게 변하는지 확인합니다.

padding: 0 (기본) —

Content

padding 없음. 콘텐츠가 가장자리에 밀착

padding: 4px — p4px

Content

최소 간격. 태그, 뱃지에 사용

padding: 8px — p8px

Content

좁은 내부 간격. 작은 카드, 인풋

padding: 16px — p16px

Content

기본적인 내부 간격. 카드, 컨테이너

padding: 2rem (20px) — p2rem

Content

넉넉한 간격. 섹션, 모달

padding: 4rem (40px) — p4rem

Content

넓은 간격. 히어로, 랜딩 섹션

자주 쓰는 패턴

실무에서 반복적으로 사용하는 padding 조합입니다.

<!-- 버튼 사이즈별 -->
<button class="py4px px8px bg6366F1 cFFFFFF br4px bn cp fs13px">Small</button>
<button class="py8px px16px bg6366F1 cFFFFFF br8px bn cp fs14px">Medium</button>
<button class="py12px px2-4rem bg6366F1 cFFFFFF br8px bn cp fs16px">Large</button>

<!-- 카드 컴포넌트 -->
<div class="p2rem bg18181B br8px">
  <h3 class="mb8px">카드 제목</h3>
  <p>카드 내용. 모든 방향에 동일한 20px 간격</p>
</div>

<!-- 섹션 (상하 넓게, 좌우 기본) -->
<section class="py4rem px2rem">
  <h2 class="mb16px">섹션 제목</h2>
  <p>상하 40px, 좌우 20px</p>
</section>

<!-- bxzbb와 함께 사용 -->
<div class="w100p p2rem bxzbb">
  padding이 width 안에 포함됨 (100% 유지)
</div>

패턴별 실제 모습

버튼 — py8px px16px

Small ButtonMedium ButtonLarge Button

카드 — p2rem

카드 제목

p2rem으로 동일한 내부 간격

카드 제목

py2rem px2-4rem으로 좌우를 더 넓게

섹션 — py4rem px2rem

섹션 콘텐츠

상하 40px, 좌우 20px

패턴클래스용도
작은 버튼py4px px8px뱃지, 태그, 작은 버튼
기본 버튼py8px px16px일반적인 버튼, 링크 버튼
큰 버튼py12px px2-4remCTA, 주요 액션 버튼
카드p2rem카드 컴포넌트 내부 간격
섹션py4rem px2rem페이지 섹션 상하 넓은 간격 + 좌우 기본 간격
컨테이너px2rem좌우 여백만 필요한 래퍼
리스트 아이템py12px px16px테이블 셀, 리스트 항목
인풋py8px px12px텍스트 입력 필드 내부 간격

팁 & 주의사항

px / py는 Atomic CSS 전용 축약

px16pxpl16px pr16px과 동일하고, py8pxpt8px pb8px와 동일합니다. CSS에는 padding-x 속성이 없지만, Atomic CSS에서 편의를 위해 제공하는 축약입니다.

음수 padding은 없다

margin과 달리 padding은 음수 값을 사용할 수 없습니다. neg-p 같은 클래스는 존재하지 않습니다. 요소를 겹치거나 당기려면 neg-m(음수 margin)을 사용하세요.

padding은 박스 크기에 영향

기본적으로 padding은 요소의 전체 크기를 늘립니다. w100px p16px이면 실제 너비는 132px가 됩니다. bxzbb(box-sizing: border-box)를 사용하면 padding이 width 안에 포함되어 100px를 유지합니다.

4의 배수 사용

일관된 리듬을 위해 padding 값은 4의 배수를 사용하세요: 4px, 8px, 12px, 16px, 2rem(20px), 2-4rem(24px), 3-2rem(32px), 4rem(40px)