Spacing
Spacing scale system
Spacing System
Podo UI provides 14 spacing levels from 0 to 13. Use consistent spacing to create visual rhythm and organize layouts.
Spacing Values
All available spacing values:
s(0)
0
s(1)
2px
s(2)
4px
s(3)
8px
s(4)
12px
s(5)
16px
s(6)
24px
s(7)
32px
s(8)
40px
s(9)
48px
s(10)
64px
s(11)
80px
s(12)
96px
s(13)
160px
Using in SCSS
You can apply spacing using the s() function in SCSS modules:
component.module.scss
@use 'podo-ui/mixin' as *;
.container {
// 마진
margin: s(4); // 12px
margin-top: s(5); // 16px
margin-bottom: s(6); // 24px
// 패딩
padding: s(3) s(5); // 8px 16px
padding-left: s(4); // 12px
// 간격
gap: s(3); // 8px
// 여러 속성에 사용
border-width: s(1); // 2px
min-height: s(10); // 64px
}Using with CSS Classes
You can directly apply classes to HTML elements:
HTML
<!-- 마진 -->
<div class="m-4">Margin 12px</div>
<div class="m-t-5">Margin Top 16px</div>
<div class="m-b-6">Margin Bottom 24px</div>
<div class="m-l-4">Margin Left 12px</div>
<div class="m-r-4">Margin Right 12px</div>
<!-- 패딩 -->
<div class="p-4">Padding 12px</div>
<div class="p-t-5">Padding Top 16px</div>
<div class="p-b-6">Padding Bottom 24px</div>
<div class="p-l-4">Padding Left 12px</div>
<div class="p-r-4">Padding Right 12px</div>Live Examples:
Padding 12px (p-4)
Padding 24px (p-6)
Padding 40px (p-8)
Border Radius
Podo UI provides 8 border radius values. Use the r() function:
r(0)
0
r(1)
2px
r(2)
4px
r(3)
6px
r(4)
8px
r(5)
12px
r(6)
20px
r(full)
9999px
Border Radius SCSS Usage
component.module.scss
@use 'podo-ui/mixin' as *;
.card {
border-radius: r(4); // 8px
}
.button {
border-radius: r(2); // 4px
}
.avatar {
border-radius: r(full); // 9999px (원형)
}
.input {
border-radius: r(3); // 6px
}
.modal {
border-radius: r(5); // 12px
}Border Radius CSS Classes
HTML
<div class="r-0">No Radius</div>
<div class="r-2">Radius 4px</div>
<div class="r-4">Radius 8px</div>
<div class="r-full">Radius Full (원형)</div>Live Examples:
r-0
r-2 (4px)
r-4 (8px)
r-6 (20px)
r-full
Practical Example
Card component example using spacing and border radius together:
component.module.scss
@use 'podo-ui/mixin' as *;
.card {
padding: s(6);
margin-bottom: s(5);
border-radius: r(4);
background: color(bg-modal);
border: 1px solid color(default-outline);
.cardHeader {
margin-bottom: s(4);
padding-bottom: s(3);
border-bottom: 1px solid color(default-outline);
}
.cardTitle {
@include display6;
margin-bottom: s(2);
}
.cardContent {
@include p3;
line-height: 1.6;
}
.cardFooter {
margin-top: s(5);
padding-top: s(4);
border-top: 1px solid color(default-outline);
display: flex;
gap: s(3);
}
}Live Rendering:
Card Title
This card applies consistent spacing using the s() function and rounds corners using the r() function. All spacing follows design system values.
Tip: Using a consistent spacing system creates visually stable layouts. Always use design system values instead of arbitrary pixel values.