์ฝ˜ํ…์ธ  ๋Œ€ํ‘œ ์ด๋ฏธ์ง€ - ๐Ÿ–Š๏ธ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜: ์ผ๊ด€๋œ ์„  ๋‘๊ป˜๋กœ ์™„์„ฑํ•˜๋Š”๊น”๋”ํ•˜๊ณ  ์„ธ๋ จ๋œ ์•„์ด์ฝ˜ ๋””์ž์ธ์˜ ๋ชจ๋“  ๊ฒƒ
โœ๏ธ ๋””์ž์ธ ยท ์›น๋””์ž์ธ / ์ƒ์„ธํŽ˜์ด์ง€

๐Ÿ–Š๏ธ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜: ์ผ๊ด€๋œ ์„  ๋‘๊ป˜๋กœ ์™„์„ฑํ•˜๋Š”
๊น”๋”ํ•˜๊ณ  ์„ธ๋ จ๋œ ์•„์ด์ฝ˜ ๋””์ž์ธ์˜ ๋ชจ๋“  ๊ฒƒ

Monoline Icon Design โ€” ์„  ํ•˜๋‚˜๋กœ ์„ธ์ƒ์„ ๊ทธ๋ฆฌ๋Š” ๊ธฐ์ˆ 

๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ๊ฐค๋Ÿฌ๋ฆฌ ํ™ˆ ๊ฒ€์ƒ‰ ์ข‹์•„์š” ์„ค์ • ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ โœจ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์˜ ํ•ต์‹ฌ ๋ชจ๋“  ์„ ์˜ ๋‘๊ป˜๊ฐ€ ๋™์ผ (stroke-width ํ†ต์ผ) ์ฑ„์›€(fill) ์—†์ด ์„ (stroke)๋งŒ์œผ๋กœ ํ‘œํ˜„ โ†’ ์ผ๊ด€๋œ ์‹œ๊ฐ์  ๋ฆฌ๋“ฌ

์•ผ, ์†”์งํžˆ ๋งํ•ด๋ณผ๊ฒŒ. ๐Ÿค”
์›น์‚ฌ์ดํŠธ๋‚˜ ์•ฑ์„ ๋งŒ๋“ค ๋•Œ ์•„์ด์ฝ˜ ํ•˜๋‚˜ ์ž˜๋ชป ๊ณ ๋ฅด๋ฉด ์ „์ฒด ๋””์ž์ธ์ด ์‚๊ฑฑ๊ฑฐ๋ฆฌ๋Š” ๊ฑฐ ๋А๊ปด๋ณธ ์  ์žˆ์ง€ ์•Š์•„? ์–ด๋–ค ์•„์ด์ฝ˜์€ ๊ตต๊ณ , ์–ด๋–ค ๊ฑด ์–‡๊ณ , ์–ด๋–ค ๊ฑด ์ƒ‰์ด ๊ฝ‰ ์ฐจ ์žˆ๊ณ ... ์ด๊ฒŒ ๋‹ค ์„ž์ด๋ฉด ์‚ฌ์šฉ์ž ๋ˆˆ์—๋Š” ๊ทธ๋ƒฅ ์‹œ๊ฐ์  ์†Œ์Œ(visual noise)์œผ๋กœ ๋А๊ปด์ ธ.

๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒŒ ๋ฐ”๋กœ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜(Monoline Icon)์ด์•ผ. ์ด๋ฆ„๋ถ€ํ„ฐ ํžŒํŠธ๊ฐ€ ์žˆ์ง€? Mono(ํ•˜๋‚˜) + Line(์„ ). ์ฆ‰, ํ•˜๋‚˜์˜ ์ผ๊ด€๋œ ์„  ๋‘๊ป˜๋กœ๋งŒ ๊ทธ๋ฆฐ ์•„์ด์ฝ˜ ์Šคํƒ€์ผ์ด์•ผ. ์‹ฌํ”Œํ•˜๋ฉด์„œ๋„ ์„ธ๋ จ๋˜๊ณ , ์–ด๋””์— ๊ฐ–๋‹ค ๋ถ™์—ฌ๋„ ์ž˜ ์–ด์šธ๋ฆฌ๋Š” ์ด ์Šคํƒ€์ผ์ด ์™œ ์ด๋ ‡๊ฒŒ ์ธ๊ธฐ ์žˆ๋Š”์ง€, ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€, ์›น๋””์ž์ธ๊ณผ ์ƒ์„ธํŽ˜์ด์ง€์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋Š”์ง€ โ€” ์˜ค๋Š˜ ์™„์ „ํžˆ ํŒŒํ—ค์ณ๋ณผ ๊ฑฐ์•ผ! ๐ŸŽฏ

๐Ÿ’ก ์ด ๊ธ€์—์„œ ๋ฐฐ์šธ ๊ฒƒ๋“ค ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์˜ ์ •์˜์™€ ์—ญ์‚ฌ โ†’ ํ•ต์‹ฌ ์›์น™๊ณผ ๊ธฐ์ˆ ์  ๊ทœ์น™ โ†’ ์ œ์ž‘ ๋ฐฉ๋ฒ• โ†’ ์›น/์ƒ์„ธํŽ˜์ด์ง€ ํ™œ์šฉ๋ฒ• โ†’ ์‹ค์ „ ํŒ๊นŒ์ง€!

๐Ÿ” ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜, ์ •ํ™•ํžˆ ๋ญ์•ผ?

๋ชจ๋…ธ๋ผ์ธ(Monoline)์ด๋ผ๋Š” ๋‹จ์–ด ์ž์ฒด๋Š” "๋‹จ์ผ ์„  ๊ตต๊ธฐ"๋ฅผ ์˜๋ฏธํ•ด. ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด ๋•Œ ๋ถ“์ด๋‚˜ ํŽœ์˜ ๊ตต๊ธฐ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋™์ผํ•œ ๋‘๊ป˜๋กœ๋งŒ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ์‹์ด์•ผ. ์ด๊ฑธ ์•„์ด์ฝ˜ ๋””์ž์ธ์— ์ ์šฉํ•œ ๊ฒŒ ๋ฐ”๋กœ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์ด์ง€.

๊ธฐ์ˆ ์ ์œผ๋กœ ์ •์˜ํ•˜๋ฉด:

๐Ÿ“ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์˜ ๊ธฐ์ˆ ์  ์ •์˜ 1. Stroke-only ๋ฐฉ์‹ โ€” fill(์ฑ„์›€์ƒ‰) ์—†์ด stroke(์„ )๋งŒ์œผ๋กœ ํ˜•ํƒœ๋ฅผ ํ‘œํ˜„
2. Uniform stroke-width โ€” ์•„์ด์ฝ˜ ์„ธํŠธ ๋‚ด ๋ชจ๋“  ์•„์ด์ฝ˜์˜ ์„  ๋‘๊ป˜๊ฐ€ ๋™์ผ
3. Consistent stroke style โ€” ์„  ๋์ฒ˜๋ฆฌ(linecap), ๊บพ์ž„(linejoin) ๋ฐฉ์‹๋„ ํ†ต์ผ
4. Optical balance โ€” ์‹œ๊ฐ์ ์œผ๋กœ ๊ท ํ˜• ์žกํžŒ ๋น„์œจ ์œ ์ง€

์˜ˆ๋ฅผ ๋“ค์–ด, ์•„์ด์ฝ˜ ์„ธํŠธ ์ „์ฒด์—์„œ stroke-width: 2px๋ฅผ ์“ฐ๊ธฐ๋กœ ํ–ˆ๋‹ค๋ฉด, ์ง‘ ์•„์ด์ฝ˜์ด๋“  ๊ฒ€์ƒ‰ ์•„์ด์ฝ˜์ด๋“  ํ•˜ํŠธ ์•„์ด์ฝ˜์ด๋“  ์ „๋ถ€ 2px ์„  ๋‘๊ป˜๋กœ ๊ทธ๋ ค์•ผ ํ•ด. ์ด๊ฒŒ ๋ชจ๋…ธ๋ผ์ธ์˜ ํ•ต์‹ฌ ๊ทœ์น™์ด์•ผ.


๐Ÿ†š ๋‹ค๋ฅธ ์•„์ด์ฝ˜ ์Šคํƒ€์ผ๊ณผ ๋น„๊ต

๋ชจ๋…ธ๋ผ์ธ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์Šคํƒ€์ผ๋“ค๊ณผ ๋น„๊ตํ•ด๋ณด๋Š” ๊ฒŒ ์ œ์ผ ๋น ๋ฅด๊ฑฐ๋“ :

์Šคํƒ€์ผ ํŠน์ง• ๋А๋‚Œ ๋Œ€ํ‘œ ์˜ˆ์‹œ
๋ชจ๋…ธ๋ผ์ธ ๊ท ์ผํ•œ ์„  ๋‘๊ป˜, ์ฑ„์›€ ์—†์Œ ๊น”๋”, ์„ธ๋ จ, ๋ฏธ๋‹ˆ๋ฉ€ Feather Icons, Heroicons
Filled (์†”๋ฆฌ๋“œ) ๋‚ด๋ถ€๊ฐ€ ์ƒ‰์œผ๋กœ ์ฑ„์›Œ์ง ๋ฌต์ง, ๊ฐ•์กฐ, ๋ช…ํ™• Material Icons (filled)
Duotone ๋‘ ๊ฐ€์ง€ ์ƒ‰์ƒ ์กฐํ•ฉ ์ž…์ฒด๊ฐ, ํŠธ๋ Œ๋”” Phosphor Icons (duotone)
Flat ๋‹จ์ƒ‰ ์ฑ„์›€, ์„  ์—†์Œ ํ˜„๋Œ€์ , ๋‹จ์ˆœ Flaticon ์ผ๋ถ€
Glyph ์‹ค๋ฃจ์—ฃ ํ˜•ํƒœ ๊ฐ•๋ ฌ, ์‹ฌ๋ณผ๋ฆญ Font Awesome (solid)

๋ณด์ด์ง€? ๋ชจ๋…ธ๋ผ์ธ์€ ์„ ๋งŒ์œผ๋กœ ๋ชจ๋“  ๊ฑธ ํ‘œํ˜„ํ•˜๋Š” ์Šคํƒ€์ผ์ด์•ผ. ๋งˆ์น˜ ์—ฐํ•„ ์Šค์ผ€์น˜์ฒ˜๋Ÿผ ์„ ์˜ ํ๋ฆ„ ์ž์ฒด๊ฐ€ ๋””์ž์ธ์ด ๋˜๋Š” ๊ฑฐ์ง€. ๊ทธ๋ž˜์„œ ์ž˜ ๋งŒ๋“  ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์€ ๋ณด๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์žฅ์ธ์˜ ์†๊ธธ์ด ๋А๊ปด์ ธ.

๐Ÿ“œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์€ ์–ด๋””์„œ ์™”์„๊นŒ?

์—ญ์‚ฌ ์–˜๊ธฐ ์ž ๊น ํ•ด๋ณผ๊ฒŒ. ์ง€๋ฃจํ•˜์ง€ ์•Š๊ฒŒ ๋น ๋ฅด๊ฒŒ ๊ฐˆ๊ฒŒ! โšก

1
1970~80๋…„๋Œ€: ํ”ฝํ† ๊ทธ๋žจ์˜ ์‹œ๋Œ€
์˜ฌ๋ฆผํ”ฝ ํ”ฝํ† ๊ทธ๋žจ์ฒ˜๋Ÿผ ๋‹จ์ˆœํ•œ ์„ ์œผ๋กœ ์‚ฌ๋žŒ๊ณผ ์‚ฌ๋ฌผ์„ ํ‘œํ˜„ํ•˜๋Š” ์‹œ๋„๊ฐ€ ์‹œ์ž‘๋์–ด. ์ด๊ฒŒ ๋ชจ๋…ธ๋ผ์ธ์˜ ์›์กฐ ๊ฒฉ์ด์•ผ.
2
2000๋…„๋Œ€ ์ดˆ: ์Šคํ์–ด๋ชจํ”ผ์ฆ˜(Skeuomorphism)์˜ ์ „์„ฑ๊ธฐ
iOS ์ดˆ๊ธฐ์ฒ˜๋Ÿผ ์•„์ด์ฝ˜์ด ์‹ค์ œ ๋ฌผ์ฒด์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒŒ ํŠธ๋ Œ๋“œ์˜€์–ด. ๊ทธ๋ผ๋””์–ธํŠธ, ๊ทธ๋ฆผ์ž, ์งˆ๊ฐ์ด ๋„˜์ณ๋‚ฌ์ง€. ๋ชจ๋…ธ๋ผ์ธ๊ณผ๋Š” ์ •๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์ด์—ˆ์–ด.
3
2013๋…„: ํ”Œ๋žซ ๋””์ž์ธ ํ˜๋ช…
iOS 7์ด ์ถœ์‹œ๋˜๋ฉด์„œ ์• ํ”Œ์ด ์Šคํ์–ด๋ชจํ”ผ์ฆ˜์„ ๋ฒ„๋ฆฌ๊ณ  ํ”Œ๋žซ ๋””์ž์ธ์œผ๋กœ ์ „ํ™˜ํ–ˆ์–ด. ์ด๋•Œ๋ถ€ํ„ฐ ์„  ๊ธฐ๋ฐ˜ ์•„์ด์ฝ˜์ด ๊ธ‰๋ถ€์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€.
4
2014~2016๋…„: ๋ชจ๋…ธ๋ผ์ธ์˜ ํ™ฉ๊ธˆ๊ธฐ
Google์˜ Material Design ๊ฐ€์ด๋“œ๋ผ์ธ์ด ๋ฐœํ‘œ๋˜๋ฉด์„œ 2dp ์„  ๋‘๊ป˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์•„์ด์ฝ˜ ์‹œ์Šคํ…œ์ด ํ‘œ์ค€ํ™”๋์–ด. ์ „ ์„ธ๊ณ„ ๋””์ž์ด๋„ˆ๋“ค์ด ๋ชจ๋…ธ๋ผ์ธ ์Šคํƒ€์ผ์„ ์ฑ„ํƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€.
5
2018๋…„~ํ˜„์žฌ: ๋ชจ๋…ธ๋ผ์ธ์˜ ์ง„ํ™”
๋‹จ์ˆœํ•œ ์„ ์—์„œ ๋ฒ—์–ด๋‚˜ ๋ผ์šด๋“œ ์ฒ˜๋ฆฌ, ๋ฏธ๋ฌ˜ํ•œ ๊ตต๊ธฐ ๋ณ€ํ™”, ์ปฌ๋Ÿฌ ํฌ์ธํŠธ ๋“ฑ์„ ๊ฐ€๋ฏธํ•œ ๋ชจ๋˜ ๋ชจ๋…ธ๋ผ์ธ์ด ๋“ฑ์žฅํ–ˆ์–ด. ์ง€๊ธˆ๋„ ์›น๊ณผ ์•ฑ ๋””์ž์ธ์˜ ์ฃผ๋ฅ˜ ์Šคํƒ€์ผ์ด์•ผ.

"Less is more" โ€” ๋ฏธ์Šค ๋ฐ˜ ๋ฐ์–ด ๋กœ์—
๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์€ ์ด ์ฒ ํ•™์„ ๊ฐ€์žฅ ์ž˜ ๊ตฌํ˜„ํ•œ ๋””์ž์ธ ์Šคํƒ€์ผ ์ค‘ ํ•˜๋‚˜์•ผ.

๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์˜ 4๋Œ€ ํ•ต์‹ฌ ์›์น™ โ‘  ๊ท ์ผํ•œ ์„  ๋‘๊ป˜ 2px (๊ธฐ์ค€) 2px (๋™์ผ) 2px (๋™์ผ) โŒ ๊ตต๊ธฐ ๋ณ€ํ™” ๊ธˆ์ง€ โ‘ก ์„  ๋์ฒ˜๋ฆฌ ํ†ต์ผ round (๋‘ฅ๊ทผ ๋) square (๊ฐ์ง„ ๋) โœ… ์„ธํŠธ ๋‚ด ํ†ต์ผ ํ•„์ˆ˜ โ‘ข ์‹œ๊ฐ์  ๊ท ํ˜• ๊ด‘ํ•™์  ์ค‘์‹ฌ ๋งž์ถ”๊ธฐ ํ”ฝ์…€ ๊ทธ๋ฆฌ๋“œ ์ •๋ ฌ โ‘ฃ ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ ๋™์ผํ•œ ๋ชจ์„œ๋ฆฌ ๋ฐ˜๊ฒฝ ๋™์ผํ•œ ์•„์ด์ฝ˜ ํฌ๊ธฐ ๋™์ผํ•œ ์—ฌ๋ฐฑ ๋น„์œจ โœ… ์„ธํŠธ ์ „์ฒด ํ†ต์ผ = ์™„๋ฒฝํ•œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์„ธํŠธ ์‹œ๊ฐ์  ํ†ต์ผ๊ฐ ยท ํ™•์žฅ์„ฑ ยท ๋ธŒ๋žœ๋“œ ์ผ๊ด€์„ฑ โœฆ โœฆ โœฆ

โš™๏ธ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์˜ ๊ธฐ์ˆ ์  ํ•ต์‹ฌ ์›์น™

์ž, ์ด์ œ ์ง„์งœ ์‹ค์ „ ์–˜๊ธฐ์•ผ. ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์„ ์ œ๋Œ€๋กœ ๋งŒ๋“ค๋ ค๋ฉด ์•Œ์•„์•ผ ํ•  ๊ธฐ์ˆ ์  ๊ทœ์น™๋“ค์ด ์žˆ์–ด. ์ด๊ฑธ ๋ชจ๋ฅด๋ฉด "๋น„์Šทํ•˜๊ฒŒ ์ƒ๊ฒผ๋Š”๋ฐ ์™œ ์ด์ƒํ•˜์ง€?" ํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊ธฐ๊ฑฐ๋“ . ๐Ÿ˜…

1๏ธโƒฃ ์„  ๋‘๊ป˜(Stroke Width) ์„ค์ •

๋ชจ๋…ธ๋ผ์ธ์˜ ์ƒ๋ช…์€ ์ผ๊ด€๋œ ์„  ๋‘๊ป˜์•ผ. ๊ทธ๋Ÿฐ๋ฐ ์ด๊ฒŒ ๋‹จ์ˆœํžˆ "2px๋กœ ํ†ต์ผ!" ์ด๋ ‡๊ฒŒ ๋๋‚˜๋Š” ๊ฒŒ ์•„๋‹ˆ์•ผ. ์•„์ด์ฝ˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋‘๊ป˜๊ฐ€ ๋‹ฌ๋ผ์ง€๊ฑฐ๋“ :

์•„์ด์ฝ˜ ํฌ๊ธฐ ๊ถŒ์žฅ ์„  ๋‘๊ป˜ ์‚ฌ์šฉ ๋งฅ๋ฝ
16px ร— 16px 1px ~ 1.5px ์ธ๋ผ์ธ ํ…์ŠคํŠธ, ์ž‘์€ ๋ฒ„ํŠผ
24px ร— 24px 1.5px ~ 2px ๋„ค๋น„๊ฒŒ์ด์…˜, ์ผ๋ฐ˜ UI (๊ฐ€์žฅ ์ผ๋ฐ˜์ )
32px ร— 32px 2px ~ 2.5px ์นด๋“œ ๋‚ด ์•„์ด์ฝ˜, ์ค‘๊ฐ„ ํฌ๊ธฐ UI
48px ร— 48px 2.5px ~ 3px ๋žœ๋”ฉํŽ˜์ด์ง€ ํ”ผ์ฒ˜ ์•„์ด์ฝ˜
64px ์ด์ƒ 3px ~ 4px ํžˆ์–ด๋กœ ์„น์…˜, ๋Œ€ํ˜• ์ผ๋Ÿฌ์ŠคํŠธ
โš ๏ธ ์ฃผ์˜! ์„  ๋‘๊ป˜๊ฐ€ ๋„ˆ๋ฌด ์–‡์œผ๋ฉด ์ž‘์€ ํ™”๋ฉด์—์„œ ์•ˆ ๋ณด์ด๊ณ , ๋„ˆ๋ฌด ๋‘๊บผ์šฐ๋ฉด ๋ชจ๋…ธ๋ผ์ธ์˜ ์„ฌ์„ธํ•จ์ด ์‚ฌ๋ผ์ ธ. 24px ๊ธฐ์ค€ 2px๊ฐ€ ์—…๊ณ„ ํ‘œ์ค€์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์—ฌ.

2๏ธโƒฃ ์„  ๋์ฒ˜๋ฆฌ(Stroke Linecap)

์„ ์˜ ๋์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์•„์ด์ฝ˜์˜ ์„ฑ๊ฒฉ์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์ ธ:

round ์„  ๋์ด ๋‘ฅ๊ธ€๊ฒŒ ์ฒ˜๋ฆฌ๋จ
โ†’ ์นœ๊ทผํ•˜๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ๋А๋‚Œ
๋Œ€๋ถ€๋ถ„์˜ ํ˜„๋Œ€ ๋ชจ๋…ธ๋ผ์ธ์—์„œ ์‚ฌ์šฉ
square ์„  ๋์ด ์ง๊ฐ์œผ๋กœ ์ฒ˜๋ฆฌ๋จ
โ†’ ๊ธฐ์ˆ ์ ์ด๊ณ  ์ •๋ฐ€ํ•œ ๋А๋‚Œ
ํ…Œํฌ/์—”์ง€๋‹ˆ์–ด๋ง ๊ด€๋ จ UI์— ์ ํ•ฉ
butt ์„  ๋์ด ๋”ฑ ์ž˜๋ฆฐ ํ˜•ํƒœ
โ†’ ๋ฏธ๋‹ˆ๋ฉ€ํ•˜๊ณ  ๋‚ ์นด๋กœ์šด ๋А๋‚Œ
๊ณ ๊ธ‰์Šค๋Ÿฌ์šด ๋ธŒ๋žœ๋“œ ์•„์ด์ฝ˜์— ์‚ฌ์šฉ

3๏ธโƒฃ ์„  ๊บพ์ž„(Stroke Linejoin)

์„ ์ด ๊บพ์ด๋Š” ๋ถ€๋ถ„์˜ ์ฒ˜๋ฆฌ ๋ฐฉ์‹๋„ ํ†ต์ผํ•ด์•ผ ํ•ด:

๐Ÿ”ต round โ€” ๊บพ์ž„ ๋ถ€๋ถ„์ด ๋‘ฅ๊ธ€๊ฒŒ ๐Ÿ”ท miter โ€” ๊บพ์ž„ ๋ถ€๋ถ„์ด ๋พฐ์กฑํ•˜๊ฒŒ ๐Ÿ”ถ bevel โ€” ๊บพ์ž„ ๋ถ€๋ถ„์ด ์ž˜๋ฆฐ ํ˜•ํƒœ

๋ณดํ†ต stroke-linecap: round์™€ stroke-linejoin: round๋ฅผ ํ•จ๊ป˜ ์“ฐ๋Š” ๊ฒŒ ๊ฐ€์žฅ ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ํ˜„๋Œ€์ ์ธ ๋А๋‚Œ์„ ์ค˜. Feather Icons, Heroicons ๊ฐ™์€ ์œ ๋ช… ์•„์ด์ฝ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์ด ์กฐํ•ฉ์„ ์จ.

4๏ธโƒฃ ํ”ฝ์…€ ๊ทธ๋ฆฌ๋“œ(Pixel Grid) ์ •๋ ฌ

์ด๊ฒŒ ์ง„์งœ ์ค‘์š”ํ•œ๋ฐ ๋งŽ์ด๋“ค ๋†“์ณ! ์•„์ด์ฝ˜์„ ๊ทธ๋ฆด ๋•Œ ์„ ์ด ํ”ฝ์…€ ๊ฒฝ๊ณ„์— ์ •ํ™•ํžˆ ๋งž์•„์•ผ ํ•ด. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ(Anti-aliasing) ๋•Œ๋ฌธ์— ์„ ์ด ํ๋ฆฟํ•˜๊ฒŒ ๋ณด์—ฌ.

๐Ÿ’ก ํ”ฝ์…€ ๊ทธ๋ฆฌ๋“œ ์ •๋ ฌ ํŒ โ€ข ์ •์ˆ˜ ์ขŒํ‘œ ์‚ฌ์šฉ: x="10" y="10" โœ… / x="10.5" y="10.3" โš ๏ธ
โ€ข ์ง์ˆ˜ ํฌ๊ธฐ ์บ”๋ฒ„์Šค ์‚ฌ์šฉ: 24ร—24, 32ร—32, 48ร—48
โ€ข 1px ์„ ์€ 0.5 ์˜คํ”„์…‹ ํ•„์š”: x="10.5" (ํ”ฝ์…€ ์ค‘์•™์— ๋ฐฐ์น˜)
โ€ข ์ง์ˆ˜ ์„  ๋‘๊ป˜(2px, 4px)๋Š” ์ •์ˆ˜ ์ขŒํ‘œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

5๏ธโƒฃ ๊ด‘ํ•™์  ๋ณด์ •(Optical Correction)

์ˆ˜ํ•™์ ์œผ๋กœ ์™„๋ฒฝํ•œ ๋„ํ˜•์ด ์‹œ๊ฐ์ ์œผ๋กœ๋Š” ๋ถˆ๊ท ํ˜•ํ•ด ๋ณด์ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด. ์ด๊ฑธ ๋ณด์ •ํ•˜๋Š” ๊ฒŒ ๊ด‘ํ•™์  ๋ณด์ •์ด์•ผ:

โ€ข ์›ํ˜• ์•„์ด์ฝ˜์€ ์ •์‚ฌ๊ฐํ˜•๋ณด๋‹ค ์•ฝ๊ฐ„ ํฌ๊ฒŒ ๊ทธ๋ ค์•ผ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ๋ณด์—ฌ
โ€ข ์‚ผ๊ฐํ˜•์€ ์ˆ˜ํ•™์  ์ค‘์‹ฌ๋ณด๋‹ค ์•ฝ๊ฐ„ ์œ„์— ๋ฐฐ์น˜ํ•ด์•ผ ์‹œ๊ฐ์ ์œผ๋กœ ์ค‘์•™์— ๋ณด์—ฌ
โ€ข ๊ฐ€๋Š” ์„ ์€ ๊ตต์€ ์„ ๋ณด๋‹ค ์‹ค์ œ๋ณด๋‹ค ์–‡์•„ ๋ณด์ด๋ฏ€๋กœ ์•ฝ๊ฐ„ ๋‘๊ป๊ฒŒ ๋ณด์ • ํ•„์š”

๐Ÿ› ๏ธ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด?

์ด๋ก ์€ ์•Œ๊ฒ ๋Š”๋ฐ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋ƒ๊ณ ? ๊ฑฑ์ • ๋งˆ, ์ง€๊ธˆ๋ถ€ํ„ฐ ์‹ค์ „์ด์•ผ! ๐Ÿ”ฅ

๐Ÿ“ฑ ์ฃผ์š” ์ œ์ž‘ ๋„๊ตฌ

๐ŸŽจ Figma ํ˜„์žฌ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” UI ๋””์ž์ธ ํˆด. ๋ฒกํ„ฐ ํŽธ์ง‘ ๊ธฐ๋Šฅ์ด ๊ฐ•๋ ฅํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ ์‹œ์Šคํ…œ์œผ๋กœ ์•„์ด์ฝ˜ ์„ธํŠธ ๊ด€๋ฆฌ๊ฐ€ ํŽธํ•ด. ๋ฌด๋ฃŒ ํ”Œ๋žœ๋„ ์ถฉ๋ถ„ํžˆ ์“ธ ๋งŒํ•ด.

์›น ๊ธฐ๋ฐ˜ ํ˜‘์—… ์ตœ๊ฐ• ๋ฌด๋ฃŒ ํ”Œ๋žœ ์žˆ์Œ
โœ๏ธ Adobe Illustrator ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์˜ ์›์กฐ. ํŽœ ํˆด์ด ๊ฐ•๋ ฅํ•˜๊ณ  SVG ๋‚ด๋ณด๋‚ด๊ธฐ ์˜ต์…˜์ด ์„ธ๋ฐ€ํ•ด. ์ „๋ฌธ ๋””์ž์ด๋„ˆ๋“ค์ด ๋งŽ์ด ์‚ฌ์šฉ. ์œ ๋ฃŒ์ง€๋งŒ ๊ธฐ๋Šฅ์€ ์ตœ๊ณ .

์ „๋ฌธ๊ฐ€์šฉ ๊ฐ•๋ ฅํ•œ ํŽœํˆด ์œ ๋ฃŒ
๐Ÿ–Š๏ธ Sketch ๋งฅ ์ „์šฉ UI ๋””์ž์ธ ํˆด. ์•„์ด์ฝ˜ ๋””์ž์ธ์— ์ตœ์ ํ™”๋œ ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์•„. ์‹ฌ๋ณผ ๊ธฐ๋Šฅ์œผ๋กœ ์•„์ด์ฝ˜ ์„ธํŠธ ๊ด€๋ฆฌ๊ฐ€ ํŽธ๋ฆฌํ•ด.

Mac ์ „์šฉ ์‹ฌ๋ณผ ์‹œ์Šคํ…œ ์œ ๋ฃŒ
๐Ÿ†“ Inkscape ๋ฌด๋ฃŒ ์˜คํ”ˆ์†Œ์Šค ๋ฒกํ„ฐ ํŽธ์ง‘๊ธฐ. ๊ธฐ๋Šฅ์€ ์ถฉ๋ถ„ํ•˜์ง€๋งŒ UI๊ฐ€ ์ข€ ๋ณต์žกํ•ด. ์˜ˆ์‚ฐ์ด ์—†์„ ๋•Œ ์ข‹์€ ์„ ํƒ.

์™„์ „ ๋ฌด๋ฃŒ ์˜คํ”ˆ์†Œ์Šค ํ•™์Šต ๊ณก์„  ์žˆ์Œ

๐ŸŽฏ Figma๋กœ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ๋งŒ๋“œ๋Š” ๊ธฐ๋ณธ ํ”„๋กœ์„ธ์Šค

1
์บ”๋ฒ„์Šค ์„ค์ •
24ร—24px ํ”„๋ ˆ์ž„ ์ƒ์„ฑ. ๋‚ด๋ถ€์— 20ร—20px ์˜์—ญ์„ ์‹ค์ œ ์•„์ด์ฝ˜ ๊ทธ๋ฆฌ๋Š” ๊ณต๊ฐ„์œผ๋กœ ์„ค์ • (2px ์—ฌ๋ฐฑ). ์ด ์—ฌ๋ฐฑ์„ safe zone์ด๋ผ๊ณ  ํ•ด.
2
๊ทธ๋ฆฌ๋“œ ์„ค์ •
1px ๊ทธ๋ฆฌ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•ด์„œ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์ž‘์—…. Figma์—์„œ๋Š” Ctrl+Shift+' (Mac: Cmd+Shift+')๋กœ ํ”ฝ์…€ ๊ทธ๋ฆฌ๋“œ ํ‘œ์‹œ.
3
๊ธฐ๋ณธ ๋„ํ˜•์œผ๋กœ ์Šค์ผ€์น˜
์›, ์‚ฌ๊ฐํ˜•, ์„  ๋“ฑ ๊ธฐ๋ณธ ๋„ํ˜•์„ ์กฐํ•ฉํ•ด์„œ ์•„์ด์ฝ˜์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ๋ฅผ ์žก์•„. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์ •ํ™•๋„๋ณด๋‹ค ๋น„์œจ์ด ์ค‘์š”ํ•ด.
4
ํŽœ ํˆด๋กœ ์ •๊ตํ™”
๊ธฐ๋ณธ ํ˜•ํƒœ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํŽœ ํˆด(P)๋กœ ์ •ํ™•ํ•œ ํŒจ์Šค๋ฅผ ๊ทธ๋ ค. ์•ต์ปค ํฌ์ธํŠธ๋Š” ์ตœ์†Œํ•œ์œผ๋กœ ์œ ์ง€ โ€” ์ ์„์ˆ˜๋ก ๊น”๋”ํ•œ SVG๊ฐ€ ๋‚˜์™€.
5
์ŠคํŠธ๋กœํฌ ์„ค์ • ํ†ต์ผ
Fill: None, Stroke: ์›ํ•˜๋Š” ์ƒ‰์ƒ, Stroke Width: 2px, Stroke Cap: Round, Stroke Join: Round ์„ค์ •.
6
Outline Stroke ์ฒ˜๋ฆฌ
SVG๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ ์ „์— "Outline Stroke" ์ฒ˜๋ฆฌ๋ฅผ ํ• ์ง€ ๊ฒฐ์ •. ์›น์—์„œ CSS๋กœ ์ƒ‰์ƒ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜๋ฉด stroke ์†์„ฑ ์œ ์ง€, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด outline ์ฒ˜๋ฆฌ.
7
SVG ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฐ ์ตœ์ ํ™”
SVG๋กœ ๋‚ด๋ณด๋‚ธ ํ›„ SVGO ๊ฐ™์€ ๋„๊ตฌ๋กœ ์ตœ์ ํ™”. ๋ถˆํ•„์š”ํ•œ ์†์„ฑ ์ œ๊ฑฐ, ๊ฒฝ๋กœ ๋‹จ์ˆœํ™” ๋“ฑ์„ ํ†ตํ•ด ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ.

๐Ÿ’ป SVG ์ฝ”๋“œ๋กœ ์ง์ ‘ ๊ทธ๋ฆฌ๊ธฐ

์ฝ”๋”ฉ์„ ์ข‹์•„ํ•œ๋‹ค๋ฉด SVG๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด์•ผ. ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์˜ SVG ๊ตฌ์กฐ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•ด:

<!-- 24x24 ํ™ˆ ์•„์ด์ฝ˜ ์˜ˆ์‹œ -->
<svg xmlns="http://www.w3.org/2000/svg" 
     width="24" height="24" 
     viewBox="0 0 24 24"
     fill="none"
     stroke="currentColor"
     stroke-width="2"
     stroke-linecap="round"
     stroke-linejoin="round">
  
  <!-- ์ง€๋ถ• -->
  <polyline points="3 9 12 2 21 9"></polyline>
  
  <!-- ๋ฒฝ -->
  <path d="M5 9v11a1 1 0 001 1h4v-5h4v5h4a1 1 0 001-1V9"></path>
  
</svg>

ํ•ต์‹ฌ์€ fill="none"๊ณผ stroke="currentColor"์•ผ. currentColor๋ฅผ ์“ฐ๋ฉด CSS๋กœ ์ƒ‰์ƒ์„ ์ž์œ ๋กญ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์„œ ๋‹คํฌ๋ชจ๋“œ ๋Œ€์‘๋„ ์‰ฌ์›Œ์ ธ!

๐ŸŒ ์›น๋””์ž์ธ์—์„œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ํ™œ์šฉํ•˜๊ธฐ

์ž, ์ด์ œ ์ง„์งœ ์‹ค์ „ ํ™œ์šฉ ์–˜๊ธฐ์•ผ! ์›น๋””์ž์ธ, ํŠนํžˆ ์ƒ์„ธํŽ˜์ด์ง€์—์„œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์„ ์–ด๋–ป๊ฒŒ ์จ์•ผ ํšจ๊ณผ์ ์ธ์ง€ ์•Œ์•„๋ณด์ž. ๐Ÿš€

๐Ÿ“ ํ™œ์šฉ ์œ„์น˜๋ณ„ ๊ฐ€์ด๋“œ

๐Ÿงญ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋„ค๋น„๊ฒŒ์ด์…˜์—์„œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์€ ํ…์ŠคํŠธ ๋ ˆ์ด๋ธ”๊ณผ ํ•จ๊ป˜ ์“ธ ๋•Œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ด์•ผ. ํฌ๊ธฐ๋Š” 20~24px, ์„  ๋‘๊ป˜ 1.5~2px๊ฐ€ ์ ๋‹นํ•ด. ํ™œ์„ฑ ์ƒํƒœ(active)์ผ ๋•Œ๋Š” filled ๋ฒ„์ „์œผ๋กœ ์ „ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ƒ‰์ƒ์„ ๊ฐ•์กฐํ•˜๋Š” ๋ฐฉ์‹์„ ๋งŽ์ด ์จ.
๐Ÿƒ ํ”ผ์ฒ˜ ์นด๋“œ (Feature Cards) ๋žœ๋”ฉํŽ˜์ด์ง€์˜ ํŠน์ง• ์†Œ๊ฐœ ์„น์…˜์—์„œ ์•„์ด์ฝ˜์€ ํ•ต์‹ฌ ์—ญํ• ์„ ํ•ด. 32~48px ํฌ๊ธฐ์— ๋ธŒ๋žœ๋“œ ์ปฌ๋Ÿฌ๋ฅผ ์ž…ํžŒ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์ด ํ…์ŠคํŠธ ๋‚ด์šฉ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์™„ํ•ด์ค˜. ๋ฐฐ๊ฒฝ ์›์ด๋‚˜ ์‚ฌ๊ฐํ˜• ์•ˆ์— ๋„ฃ์œผ๋ฉด ๋” ์„ธ๋ จ๋ผ ๋ณด์—ฌ.
๐Ÿ“‹ ํผ(Form) UI ์ž…๋ ฅ ํ•„๋“œ ์•ž์— ์ž‘์€ ์•„์ด์ฝ˜(16~20px)์„ ๋ฐฐ์น˜ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š”์ง€ ์ง๊ด€์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ์–ด. ์ด๋ฉ”์ผ ํ•„๋“œ์—” ๋ด‰ํˆฌ ์•„์ด์ฝ˜, ์ „ํ™”๋ฒˆํ˜ธ์—” ์ „ํ™”๊ธฐ ์•„์ด์ฝ˜ ๊ฐ™์€ ์‹์œผ๋กœ.
๐Ÿ”” ์•Œ๋ฆผ ๋ฐ ์ƒํƒœ ํ‘œ์‹œ ์„ฑ๊ณต, ๊ฒฝ๊ณ , ์˜ค๋ฅ˜, ์ •๋ณด ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์ด ํ…์ŠคํŠธ๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์˜๋ฏธ๋ฅผ ์ „๋‹ฌํ•ด. ์ฒดํฌ๋งˆํฌ, ๋А๋‚Œํ‘œ, X ํ‘œ์‹œ ๋“ฑ์ด ๋Œ€ํ‘œ์ ์ด์•ผ.

๐Ÿ›’ ์ƒ์„ธํŽ˜์ด์ง€์—์„œ์˜ ์ „๋žต์  ํ™œ์šฉ

์ƒ์„ธํŽ˜์ด์ง€(Product Detail Page)์—์„œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์€ ๊ตฌ๋งค ๊ฒฐ์ •์„ ๋•๋Š” ์‹œ๊ฐ์  ์‹ ํ˜ธ ์—ญํ• ์„ ํ•ด. ์ž˜ ์“ฐ๋ฉด ์ „ํ™˜์œจ(Conversion Rate)์ด ์˜ฌ๋ผ๊ฐ€!

1
ํ˜œํƒ/ํŠน์ง• ๋‚˜์—ด ์„น์…˜
"๋ฌด๋ฃŒ ๋ฐฐ์†ก", "30์ผ ํ™˜๋ถˆ ๋ณด์žฅ", "24์‹œ๊ฐ„ ๊ณ ๊ฐ์ง€์›" ๊ฐ™์€ ํ˜œํƒ์„ ๋‚˜์—ดํ•  ๋•Œ ๊ฐ ํ•ญ๋ชฉ ์•ž์— ๊ด€๋ จ ์•„์ด์ฝ˜์„ ๋ฐฐ์น˜ํ•˜๋ฉด ์Šค์บ” ๊ฐ€๋…์„ฑ์ด ํฌ๊ฒŒ ์˜ฌ๋ผ๊ฐ€. ์‚ฌ์šฉ์ž๋“ค์€ ํ…์ŠคํŠธ๋ฅผ ์ฝ๊ธฐ ์ „์— ์•„์ด์ฝ˜์œผ๋กœ ๋‚ด์šฉ์„ ๋จผ์ € ํŒŒ์•…ํ•˜๊ฑฐ๋“ .
2
์ŠคํŽ™/์‚ฌ์–‘ ํ…Œ์ด๋ธ”
์ œํ’ˆ ์‚ฌ์–‘์„ ๋‚˜์—ดํ•  ๋•Œ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ์•„์ด์ฝ˜์„ ๋ถ™์ด๋ฉด ๋ณต์žกํ•œ ์ •๋ณด๊ฐ€ ํ›จ์”ฌ ์ฝ๊ธฐ ์‰ฌ์›Œ์ ธ. ๋ฐฐํ„ฐ๋ฆฌ ์ˆ˜๋ช…์—” ๋ฐฐํ„ฐ๋ฆฌ ์•„์ด์ฝ˜, ๋ฌด๊ฒŒ์—” ์ €์šธ ์•„์ด์ฝ˜ ๊ฐ™์€ ์‹์œผ๋กœ.
3
์‹ ๋ขฐ ๋ฐฐ์ง€(Trust Badges)
๋ณด์•ˆ ์ธ์ฆ, ๊ฒฐ์ œ ์•ˆ์ „, ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๋“ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์•„์ด์ฝ˜์€ ๊ตฌ๋งค ๋ฒ„ํŠผ ๊ทผ์ฒ˜์— ๋ฐฐ์น˜ํ•˜๋ฉด ์ „ํ™˜์œจ ํ–ฅ์ƒ์— ๋„์›€์ด ๋ผ. ๋ชจ๋…ธ๋ผ์ธ ์Šคํƒ€์ผ์€ ๋„ˆ๋ฌด ๊ณผํ•˜์ง€ ์•Š์•„์„œ ์‹ ๋ขฐ๊ฐ์„ ์ฃผ๋ฉด์„œ๋„ ๋””์ž์ธ์„ ํ•ด์น˜์ง€ ์•Š์•„.
4
๋ฐฐ์†ก/๋ฐ˜ํ’ˆ ์ •๋ณด
๋ฐฐ์†ก ํŠธ๋Ÿญ, ๋‹ฌ๋ ฅ, ํ™”์‚ดํ‘œ ๋“ฑ์˜ ์•„์ด์ฝ˜์œผ๋กœ ๋ฐฐ์†ก ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋ฉด ์‚ฌ์šฉ์ž ๋ถˆ์•ˆ๊ฐ์„ ์ค„์ผ ์ˆ˜ ์žˆ์–ด. ํŠนํžˆ ๋ชจ๋ฐ”์ผ ์ƒ์„ธํŽ˜์ด์ง€์—์„œ ํ…์ŠคํŠธ๋งŒ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ํšจ๊ณผ์ ์ด์•ผ.
๐Ÿ’ก ์žฌ๋Šฅ๋„ท ๊ฐ™์€ ์„œ๋น„์Šค ํ”Œ๋žซํผ์—์„œ์˜ ํ™œ์šฉ ์žฌ๋Šฅ๋„ท์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•œ ์žฌ๋Šฅ์„ ๊ฑฐ๋ž˜ํ•˜๋Š” ํ”Œ๋žซํผ์—์„œ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ ์•„์ด์ฝ˜, ์„œ๋น„์Šค ํŠน์ง• ์•„์ด์ฝ˜, ํŒ๋งค์ž ๋ฑƒ์ง€ ๋“ฑ์— ๋ชจ๋…ธ๋ผ์ธ ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋ฉด ์ „์ฒด UI๊ฐ€ ํ›จ์”ฌ ํ†ต์ผ๊ฐ ์žˆ๊ณ  ์ „๋ฌธ์ ์œผ๋กœ ๋ณด์—ฌ. ๊ฐ ์žฌ๋Šฅ ์นดํ…Œ๊ณ ๋ฆฌ(๋””์ž์ธ, ๊ฐœ๋ฐœ, ๋งˆ์ผ€ํŒ… ๋“ฑ)๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์„ธํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด ๋ธŒ๋žœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ๊ฐ•ํ™”์—๋„ ๋„์›€์ด ๋ผ!
๐Ÿ“ฑ ์ƒ์„ธํŽ˜์ด์ง€์—์„œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ํ™œ์šฉ ์˜ˆ์‹œ ์ œํ’ˆ ์ด๋ฏธ์ง€ ํ”„๋ฆฌ๋ฏธ์—„ ๋ฌด์„  ์ด์–ดํฐ Pro X โ˜…โ˜…โ˜…โ˜…โ˜… (2,847๊ฐœ ๋ฆฌ๋ทฐ) โ‚ฉ89,000 ๋ฌด๋ฃŒ ๋ฐฐ์†ก 30์ผ ๋ฌด๋ฃŒ ๋ฐ˜ํ’ˆ ์•ˆ์ „ํ•œ ๊ฒฐ์ œ ์ง€๊ธˆ ๊ตฌ๋งคํ•˜๊ธฐ โœจ ์ œํ’ˆ ์ฃผ์š” ํŠน์ง• 30์‹œ๊ฐ„ ๋ฐฐํ„ฐ๋ฆฌ ANC ๋ชจ๋“œ ๊ธฐ์ค€ ๋น ๋ฅธ ์ถฉ์ „ ์ง€์› ์•กํ‹ฐ๋ธŒ ๋…ธ์ด์ฆˆ์บ”์Šฌ๋ง ์ตœ๋Œ€ -40dB ์†Œ์Œ ์ฐจ๋‹จ ์ฃผ๋ณ€์Œ ํ—ˆ์šฉ ๋ชจ๋“œ ๋ธ”๋ฃจํˆฌ์Šค 5.3 ๋ฉ€ํ‹ฐํฌ์ธํŠธ ์—ฐ๊ฒฐ ์ตœ๋Œ€ 2๋Œ€ ๋™์‹œ ์—ฐ๊ฒฐ IPX5 ๋ฐฉ์ˆ˜ ์šด๋™ ์ค‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋•€ยท๋น—๋ฌผ ๋ฐฉ์–ด โ†‘ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์ด ์ƒ์„ธํŽ˜์ด์ง€์˜ ์ •๋ณด ์ „๋‹ฌ๋ ฅ์„ ๋†’์ด๋Š” ๋ฐฉ์‹

๐Ÿ’ป ์›น์—์„œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ๊ตฌํ˜„ํ•˜๊ธฐ

๋””์ž์ธ ํˆด์—์„œ ๋งŒ๋“  ์•„์ด์ฝ˜์„ ์‹ค์ œ ์›น์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ธ๋ฐ, ๊ฐ๊ฐ ์žฅ๋‹จ์ ์ด ์žˆ์–ด!

๋ฐฉ๋ฒ• 1: ์ธ๋ผ์ธ SVG

HTML์— SVG ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ์‹. CSS๋กœ ์Šคํƒ€์ผ ์ œ์–ด๊ฐ€ ๊ฐ€์žฅ ์ž์œ ๋กœ์›Œ.

<!-- ์ธ๋ผ์ธ SVG ๋ฐฉ์‹ -->
<button class="icon-btn">
  <svg width="24" height="24" viewBox="0 0 24 24" 
       fill="none" stroke="currentColor" 
       stroke-width="2" stroke-linecap="round" 
       stroke-linejoin="round">
    <circle cx="11" cy="11" r="8"></circle>
    <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
  </svg>
  ๊ฒ€์ƒ‰
</button>

<style>
.icon-btn {
  color: #667eea;  /* currentColor๊ฐ€ ์ด ์ƒ‰์ƒ์„ ์ƒ์†๋ฐ›์•„ */
  transition: color 0.2s;
}
.icon-btn:hover {
  color: #764ba2;  /* ํ˜ธ๋ฒ„ ์‹œ ์ƒ‰์ƒ ๋ณ€๊ฒฝ โ€” ์•„์ด์ฝ˜๋„ ์ž๋™์œผ๋กœ ๋ฐ”๋€œ! */
}
</style>
๐Ÿ’ก currentColor์˜ ๋งˆ๋ฒ• stroke="currentColor"๋ฅผ ์“ฐ๋ฉด ๋ถ€๋ชจ ์š”์†Œ์˜ CSS color ๊ฐ’์„ ์ž๋™์œผ๋กœ ์ƒ์†๋ฐ›์•„. ๋‹คํฌ๋ชจ๋“œ ์ „ํ™˜, ํ˜ธ๋ฒ„ ํšจ๊ณผ, ํ…Œ๋งˆ ๋ณ€๊ฒฝ ๋“ฑ์„ CSS ํ•œ ์ค„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ •๋ง ํŽธ๋ฆฌํ•ด!

๋ฐฉ๋ฒ• 2: SVG ์Šคํ”„๋ผ์ดํŠธ

์—ฌ๋Ÿฌ ์•„์ด์ฝ˜์„ ํ•˜๋‚˜์˜ SVG ํŒŒ์ผ์— ๋ชจ์•„๋‘๊ณ  ํ•„์š”ํ•  ๋•Œ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹. ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์ข‹์•„.

<!-- sprite.svg ํŒŒ์ผ -->
<svg xmlns="http://www.w3.org/2000/svg" style="display:none">
  <symbol id="icon-home" viewBox="0 0 24 24">
    <polyline points="3 9 12 2 21 9"></polyline>
    <path d="M5 9v11h5v-5h4v5h5V9"></path>
  </symbol>
  <symbol id="icon-search" viewBox="0 0 24 24">
    <circle cx="11" cy="11" r="8"></circle>
    <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
  </symbol>
</svg>

<!-- ์‚ฌ์šฉํ•  ๋•Œ -->
<svg width="24" height="24" fill="none" 
     stroke="currentColor" stroke-width="2"
     stroke-linecap="round" stroke-linejoin="round">
  <use href="sprite.svg#icon-home"></use>
</svg>

๋ฐฉ๋ฒ• 3: ์•„์ด์ฝ˜ ํฐํŠธ

Font Awesome์ฒ˜๋Ÿผ ์•„์ด์ฝ˜์„ ํฐํŠธ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹. ์„ค์น˜๊ฐ€ ์‰ฝ์ง€๋งŒ SVG ๋ฐฉ์‹๋ณด๋‹ค ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ ธ.

๋ฐฉ๋ฒ• 4: ์•„์ด์ฝ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ

์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค๋ฉด ๊ฒ€์ฆ๋œ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒŒ ํ˜„๋ช…ํ•ด:

๐Ÿชถ Feather Icons ๊ฐ€์žฅ ํด๋ž˜์‹ํ•œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์„ธํŠธ. 286๊ฐœ ์•„์ด์ฝ˜, MIT ๋ผ์ด์„ ์Šค. ์„  ๋‘๊ป˜ 2px, round ์Šคํƒ€์ผ.
feathericons.com
โšก Heroicons Tailwind CSS ํŒ€์ด ๋งŒ๋“  ์•„์ด์ฝ˜. Outline(๋ชจ๋…ธ๋ผ์ธ)๊ณผ Solid ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „ ์ œ๊ณต. 288๊ฐœ ์•„์ด์ฝ˜.
heroicons.com
๐Ÿ”ท Lucide Icons Feather Icons์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌํฌ. ๋” ๋งŽ์€ ์•„์ด์ฝ˜(1000๊ฐœ+)๊ณผ ํ™œ๋ฐœํ•œ ์—…๋ฐ์ดํŠธ.
lucide.dev
๐ŸŽฏ Phosphor Icons 6๊ฐ€์ง€ ์Šคํƒ€์ผ(Thin, Light, Regular, Bold, Fill, Duotone) ์ œ๊ณต. 1200๊ฐœ+ ์•„์ด์ฝ˜.
phosphoricons.com

๐ŸŽจ CSS๋กœ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์Šคํƒ€์ผ๋ง

SVG ์•„์ด์ฝ˜์„ CSS๋กœ ์ œ์–ดํ•˜๋Š” ํ•ต์‹ฌ ์†์„ฑ๋“ค:

/* ๊ธฐ๋ณธ ์•„์ด์ฝ˜ ์Šคํƒ€์ผ */
.icon {
  display: inline-block;
  vertical-align: middle;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ํฌ๊ธฐ ๋ณ€ํ˜• */
.icon-sm { width: 16px; height: 16px; }
.icon-md { width: 24px; height: 24px; }
.icon-lg { width: 32px; height: 32px; }
.icon-xl { width: 48px; height: 48px; }

/* ์ƒ‰์ƒ ํ…Œ๋งˆ */
.icon-primary { color: #667eea; }
.icon-success { color: #27ae60; }
.icon-warning { color: #f6a623; }
.icon-danger  { color: #e74c3c; }

/* ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ */
.icon-spin {
  animation: spin 1s linear infinite;
}
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ํ˜ธ๋ฒ„ ํšจ๊ณผ */
.icon-btn:hover .icon {
  transform: scale(1.1);
  transition: transform 0.2s ease;
}

๐Ÿ—๏ธ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ตฌ์ถ•ํ•˜๊ธฐ

์•„์ด์ฝ˜ ํ•˜๋‚˜ ๋งŒ๋“œ๋Š” ๊ฑด ์‰ฌ์›Œ. ๊ทผ๋ฐ ์ผ๊ด€๋œ ์•„์ด์ฝ˜ ์„ธํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฑด ์™„์ „ ๋‹ค๋ฅธ ์–˜๊ธฐ์•ผ. ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ด€์ ์—์„œ ์ ‘๊ทผํ•ด์•ผ ํ•ด!

๐Ÿ“ ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ ์„ค์ •

๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์„ธํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผ ํ•  ๊ฑด ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์„ ์ •ํ•˜๋Š” ๊ฑฐ์•ผ. ๊ตฌ๊ธ€ Material Design์˜ ์•„์ด์ฝ˜ ๊ทธ๋ฆฌ๋“œ๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด:

๐Ÿ“ 24ร—24 ์•„์ด์ฝ˜ ๊ทธ๋ฆฌ๋“œ ๊ตฌ์กฐ โ€ข ์ „์ฒด ์บ”๋ฒ„์Šค: 24ร—24px
โ€ข ๋ผ์ด๋ธŒ ์˜์—ญ(Live Area): 20ร—20px (์ค‘์•™ ์ •๋ ฌ)
โ€ข ์—ฌ๋ฐฑ(Padding): ๊ฐ ๋ฐฉํ–ฅ 2px
โ€ข ํ‚ค๋ผ์ธ(Keyline): ์›ํ˜• 20px, ์ •์‚ฌ๊ฐํ˜• 18ร—18px, ๊ฐ€๋กœํ˜• 20ร—16px, ์„ธ๋กœํ˜• 16ร—20px
โ€ข ์„  ๋‘๊ป˜: 2px (์ผ๊ด€ ์ ์šฉ)

ํ‚ค๋ผ์ธ์ด ๋ญ๋ƒ๊ณ ? ์•„์ด์ฝ˜์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ๋ฅผ ์žก๋Š” ๊ฐ€์ด๋“œ๋ผ์ธ์ด์•ผ. ์›ํ˜• ์•„์ด์ฝ˜์€ ์›ํ˜• ํ‚ค๋ผ์ธ์—, ์‚ฌ๊ฐํ˜• ์•„์ด์ฝ˜์€ ์‚ฌ๊ฐํ˜• ํ‚ค๋ผ์ธ์— ๋งž์ถฐ ๊ทธ๋ฆฌ๋ฉด ์‹œ๊ฐ์  ํฌ๊ธฐ๊ฐ€ ํ†ต์ผ๋ผ ๋ณด์—ฌ.

๐ŸŽจ ์ปฌ๋Ÿฌ ์‹œ์Šคํ…œ ์—ฐ๋™

์•„์ด์ฝ˜ ์ƒ‰์ƒ์„ ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ์ปฌ๋Ÿฌ ํ† ํฐ๊ณผ ์—ฐ๋™ํ•˜๋ฉด ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํ›จ์”ฌ ์‰ฌ์›Œ์ ธ:

/* CSS ๋ณ€์ˆ˜๋กœ ์•„์ด์ฝ˜ ์ƒ‰์ƒ ๊ด€๋ฆฌ */
:root {
  --icon-primary: #667eea;
  --icon-secondary: #764ba2;
  --icon-success: #27ae60;
  --icon-warning: #f6a623;
  --icon-danger: #e74c3c;
  --icon-muted: #adb5bd;
}

/* ๋‹คํฌ๋ชจ๋“œ */
@media (prefers-color-scheme: dark) {
  :root {
    --icon-primary: #a8b2d8;
    --icon-muted: #6c757d;
  }
}

.icon-primary { color: var(--icon-primary); }
.icon-muted   { color: var(--icon-muted); }

๐Ÿ“ฆ ์ปดํฌ๋„ŒํŠธํ™”

React, Vue ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์“ด๋‹ค๋ฉด ์•„์ด์ฝ˜์„ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒŒ ์ตœ์„ ์ด์•ผ:

// React ์•„์ด์ฝ˜ ์ปดํฌ๋„ŒํŠธ ์˜ˆ์‹œ
const Icon = ({ name, size = 24, color = 'currentColor', strokeWidth = 2 }) => {
  const icons = {
    home: (
      <>
        <polyline points="3 9 12 2 21 9" />
        <path d="M5 9v11h5v-5h4v5h5V9" />
      </>
    ),
    search: (
      <>
        <circle cx="11" cy="11" r="8" />
        <line x1="21" y1="21" x2="16.65" y2="16.65" />
      </>
    ),
    // ... ๋” ๋งŽ์€ ์•„์ด์ฝ˜๋“ค
  };

  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 24"
      fill="none"
      stroke={color}
      strokeWidth={strokeWidth}
      strokeLinecap="round"
      strokeLinejoin="round"
    >
      {icons[name]}
    </svg>
  );
};

// ์‚ฌ์šฉ
<Icon name="home" size={32} color="#667eea" />
๐Ÿ’ก ์•„์ด์ฝ˜ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ์•„์ด์ฝ˜ ์ด๋ฆ„์€ ๊ธฐ๋Šฅ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง“๋Š” ๊ฒŒ ์ข‹์•„. ์˜ˆ๋ฅผ ๋“ค์–ด "magnifying-glass" ๋ณด๋‹ค "search"๊ฐ€ ๋” ์ง๊ด€์ ์ด์•ผ. ๋น„์Šทํ•œ ์•„์ด์ฝ˜์€ ์ ‘๋ฏธ์‚ฌ๋กœ ๊ตฌ๋ถ„: search, search-plus, search-minus ๊ฐ™์€ ์‹์œผ๋กœ.

โ™ฟ ์ ‘๊ทผ์„ฑ(Accessibility)์„ ๊ณ ๋ คํ•œ ์•„์ด์ฝ˜ ์‚ฌ์šฉ

์•„์ด์ฝ˜์ด ์˜ˆ์œ ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์ง„์งœ ์ข‹์€ ๋””์ž์ธ์ด์•ผ. ์‹œ๊ฐ ์žฅ์• ๊ฐ€ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ์Šคํฌ๋ฆฐ ๋ฆฌ๋” ๋Œ€์‘๋„ ํ•„์ˆ˜์•ผ!

1
์žฅ์‹์šฉ ์•„์ด์ฝ˜ (Decorative Icons)
ํ…์ŠคํŠธ ์˜†์— ์žˆ์–ด์„œ ์˜๋ฏธ๋ฅผ ๋ณด์™„ํ•˜๋Š” ์•„์ด์ฝ˜์€ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ฐ€ ์ฝ์ง€ ์•Š์•„๋„ ๋ผ. aria-hidden="true"๋ฅผ ์ถ”๊ฐ€ํ•ด.
<button>
  <svg aria-hidden="true" ...>...</svg>
  ๊ฒ€์ƒ‰ํ•˜๊ธฐ
</button>
2
์˜๋ฏธ ์žˆ๋Š” ์•„์ด์ฝ˜ (Meaningful Icons)
ํ…์ŠคํŠธ ์—†์ด ์•„์ด์ฝ˜๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ๋Œ€์ฒด ํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ด.
<button aria-label="๊ฒ€์ƒ‰">
  <svg aria-hidden="true" ...>...</svg>
</button>

<!-- ๋˜๋Š” SVG ๋‚ด๋ถ€์— title ํƒœ๊ทธ ์‚ฌ์šฉ -->
<svg role="img" aria-labelledby="icon-title">
  <title id="icon-title">๊ฒ€์ƒ‰</title>
  ...
</svg>
3
์ƒ‰์ƒ ๋Œ€๋น„ ํ™•์ธ
์•„์ด์ฝ˜์˜ ์„  ์ƒ‰์ƒ๊ณผ ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ์˜ ๋Œ€๋น„๊ฐ€ WCAG ๊ธฐ์ค€ ์ตœ์†Œ 3:1 ์ด์ƒ์ด์–ด์•ผ ํ•ด. ํŠนํžˆ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์€ ์„ ์ด ์–‡์•„์„œ ๋Œ€๋น„๊ฐ€ ๋‚ฎ์œผ๋ฉด ์ž˜ ์•ˆ ๋ณด์ผ ์ˆ˜ ์žˆ์–ด.
4
ํฌ๊ธฐ ๊ณ ๋ ค
ํ„ฐ์น˜ ํƒ€๊ฒŸ์€ ์ตœ์†Œ 44ร—44px์ด์–ด์•ผ ํ•ด (Apple HIG ๊ธฐ์ค€). ์•„์ด์ฝ˜ ์ž์ฒด๊ฐ€ 24px์ด๋ผ๋„ ํด๋ฆญ ์˜์—ญ์€ 44px ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•ด.

๐Ÿ”ฎ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์˜ ์ตœ์‹  ํŠธ๋ Œ๋“œ์™€ ์‘์šฉ

๋ชจ๋…ธ๋ผ์ธ์ด ๊ธฐ๋ณธ์ด๋ผ๋ฉด, ์ด๊ฑธ ์‘์šฉํ•œ ํŠธ๋ Œ๋””ํ•œ ๋ณ€ํ˜•๋“ค๋„ ์•Œ์•„๋‘๋ฉด ์ข‹์•„! ๋””์ž์ธ์€ ๊ณ„์† ์ง„ํ™”ํ•˜๋‹ˆ๊นŒ. ๐ŸŒŸ

1. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜

์ •์ ์ธ ์•„์ด์ฝ˜์— SVG ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋”ํ•˜๋ฉด ์™„์ „ ๋‹ค๋ฅธ ์ฐจ์›์ด ๋ผ. ํŠนํžˆ stroke-dasharray์™€ stroke-dashoffset์„ ์ด์šฉํ•œ ์„  ๊ทธ๋ฆฌ๊ธฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ธ๊ธฐ์•ผ:

/* ์„ ์ด ๊ทธ๋ ค์ง€๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ */
.icon-path {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: draw 0.8s ease forwards;
}

@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}

/* ํ˜ธ๋ฒ„ ์‹œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํŠธ๋ฆฌ๊ฑฐ */
.icon-btn:hover .icon-path {
  animation: draw 0.5s ease forwards;
}

2. ์ปฌ๋Ÿฌ ๊ทธ๋ผ๋””์–ธํŠธ ๋ชจ๋…ธ๋ผ์ธ

์ˆœ์ˆ˜ ๋‹จ์ƒ‰ ์„  ๋Œ€์‹  ๊ทธ๋ผ๋””์–ธํŠธ๋ฅผ ์ ์šฉํ•œ ๋ชจ๋…ธ๋ผ์ธ์ด ํŠธ๋ Œ๋””ํ•ด. SVG์˜ <linearGradient>๋ฅผ stroke์— ์ ์šฉํ•˜๋ฉด ๋ผ:

<svg viewBox="0 0 24 24">
  <defs>
    <linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#667eea"/>
      <stop offset="100%" style="stop-color:#764ba2"/>
    </linearGradient>
  </defs>
  <circle cx="12" cy="12" r="10" 
          fill="none" 
          stroke="url(#grad)" 
          stroke-width="2"/>
</svg>

3. ๋‘๊ป˜ ๋ณ€ํ™”๊ฐ€ ์žˆ๋Š” "์„ธ๋ฏธ-๋ชจ๋…ธ๋ผ์ธ"

์™„์ „ํ•œ ๋ชจ๋…ธ๋ผ์ธ์—์„œ ์‚ด์ง ๋ฒ—์–ด๋‚˜, ์ฃผ์š” ์„ ์€ ๊ตต๊ฒŒ ๋ณด์กฐ ์„ ์€ ์–‡๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์Šคํƒ€์ผ์ด์•ผ. ์™„์ „ํ•œ ๋ชจ๋…ธ๋ผ์ธ๋ณด๋‹ค ์ž…์ฒด๊ฐ์ด ์žˆ์–ด์„œ ์ตœ๊ทผ ๋งŽ์ด ๋ณด์—ฌ. ์—„๋ฐ€ํžˆ๋Š” ๋ชจ๋…ธ๋ผ์ธ์ด ์•„๋‹ˆ์ง€๋งŒ ๋ชจ๋…ธ๋ผ์ธ์˜ ๋ฏธ๋‹ˆ๋ฉ€ํ•œ ๊ฐ์„ฑ์€ ์œ ์ง€ํ•ด.

4. ๋ชจ๋…ธ๋ผ์ธ + ์ปฌ๋Ÿฌ ํฌ์ธํŠธ

์„ ์€ ๋ชจ๋…ธ๋ผ์ธ์œผ๋กœ ์œ ์ง€ํ•˜๋˜, ํŠน์ • ๋ถ€๋ถ„์—๋งŒ ์ž‘์€ ์ƒ‰์ƒ ์ฑ„์›€์„ ๋„ฃ๋Š” ์Šคํƒ€์ผ. ์˜ˆ๋ฅผ ๋“ค์–ด ์•Œ๋ฆผ ์•„์ด์ฝ˜์—์„œ ์ข… ๋ชจ์–‘์€ ์„ ์œผ๋กœ, ์•Œ๋ฆผ ์ (dot)๋งŒ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ฑ„์šฐ๋Š” ์‹์ด์•ผ. ์ด๊ฒŒ ์š”์ฆ˜ ์•ฑ UI์—์„œ ๋งŽ์ด ๋ณด์ด๋Š” ์Šคํƒ€์ผ์ด์•ผ.

5. ๋ฐ˜์‘ํ˜• ์•„์ด์ฝ˜ (Responsive Icons)

ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ์•„์ด์ฝ˜์˜ ๋ณต์žก๋„๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ๊ฐœ๋…์ด์•ผ. ํฐ ํ™”๋ฉด์—์„œ๋Š” ๋””ํ…Œ์ผํ•œ ์•„์ด์ฝ˜, ์ž‘์€ ํ™”๋ฉด์—์„œ๋Š” ๋‹จ์ˆœํ™”๋œ ์•„์ด์ฝ˜์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฑฐ์ง€. CSS์˜ @media ์ฟผ๋ฆฌ์™€ SVG๋ฅผ ์กฐํ•ฉํ•ด์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด.


๐ŸŒ ์œ ๋ช… ๋ธŒ๋žœ๋“œ๋“ค์˜ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ํ™œ์šฉ

๐ŸŽ Apple iOS 7 ์ดํ›„ SF Symbols๋ฅผ ํ†ตํ•ด ๋ชจ๋…ธ๋ผ์ธ ๊ธฐ๋ฐ˜ ์•„์ด์ฝ˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•. ์„  ๋‘๊ป˜๊ฐ€ ํ…์ŠคํŠธ ๊ตต๊ธฐ์™€ ์—ฐ๋™๋˜๋Š” ํ˜์‹ ์ ์ธ ์‹œ์Šคํ…œ์ด์•ผ.
๐Ÿ”ท Google Material Symbols์—์„œ Outlined ์Šคํƒ€์ผ์ด ๋ชจ๋…ธ๋ผ์ธ์˜ ๋Œ€ํ‘œ๊ฒฉ. 2,500๊ฐœ ์ด์ƒ์˜ ์•„์ด์ฝ˜์„ ์ œ๊ณตํ•˜๋ฉฐ ์„  ๋‘๊ป˜๋ฅผ CSS๋กœ ์กฐ์ ˆ ๊ฐ€๋Šฅํ•ด.
๐Ÿฆ Twitter/X UI ์•„์ด์ฝ˜ ๋Œ€๋ถ€๋ถ„์ด ๋ชจ๋…ธ๋ผ์ธ ์Šคํƒ€์ผ. ํŠนํžˆ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์˜ ํ™ˆ, ๊ฒ€์ƒ‰, ์•Œ๋ฆผ ์•„์ด์ฝ˜์ด ๋Œ€ํ‘œ์ ์ด์•ผ.
๐Ÿ“˜ Notion ์‚ฌ์ด๋“œ๋ฐ”์™€ ์—๋””ํ„ฐ ํˆด๋ฐ”์˜ ์•„์ด์ฝ˜๋“ค์ด ๊น”๋”ํ•œ ๋ชจ๋…ธ๋ผ์ธ ์Šคํƒ€์ผ. ๋ฏธ๋‹ˆ๋ฉ€ํ•œ UI์™€ ์™„๋ฒฝํ•˜๊ฒŒ ์–ด์šธ๋ ค.
๐ŸŽจ ์•„์ด์ฝ˜ ์Šคํƒ€์ผ ๋น„๊ต โ€” ๊ฐ™์€ ์•„์ด์ฝ˜, ๋‹ค๋ฅธ ๋А๋‚Œ ์ง‘(Home) ์•„์ด์ฝ˜์„ 5๊ฐ€์ง€ ์Šคํƒ€์ผ๋กœ ํ‘œํ˜„ ๋ชจ๋…ธ๋ผ์ธ ์„ ๋งŒ์œผ๋กœ ํ‘œํ˜„ ๊ท ์ผํ•œ ๋‘๊ป˜ Filled (์†”๋ฆฌ๋“œ) ๋‚ด๋ถ€๊ฐ€ ์ฑ„์›Œ์ง ๊ฐ•ํ•˜๊ณ  ๋ช…ํ™•ํ•œ ๋А๋‚Œ Duotone ์„  + ๋ฐ˜ํˆฌ๋ช… ์ฑ„์›€ ํŠธ๋ Œ๋””ํ•œ ์ž…์ฒด๊ฐ Thin (์–‡์€ ์„ ) ๋งค์šฐ ์–‡์€ ์„  (1px) ๊ณ ๊ธ‰์Šค๋Ÿฝ๊ณ  ์„ฌ์„ธํ•œ ๋А๋‚Œ Bold (๊ตต์€ ์„ ) ๊ตต์€ ์„  (5px) ๊ฐ•๋ ฌํ•˜๊ณ  ์บ์ฃผ์–ผํ•œ ๋А๋‚Œ โญ ์›น UI ์ตœ์  ๋ชจ๋…ธ๋ผ์ธ์€ ๋‹ค์–‘ํ•œ ๋ฐฐ๊ฒฝ๊ณผ ํฌ๊ธฐ์—์„œ ๊ฐ€์žฅ ์œ ์—ฐํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ์Šคํƒ€์ผ์ด์•ผ! ํŠนํžˆ ๋ฐ˜์‘ํ˜• ์›น๋””์ž์ธ๊ณผ ๋‹คํฌ๋ชจ๋“œ ๋Œ€์‘์—์„œ ์••๋„์ ์œผ๋กœ ์œ ๋ฆฌํ•ด

๐ŸŽฏ ์‹ค์ „์—์„œ ๋ฐ”๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ํŒ ๋ชจ์Œ

์ด๋ก ์€ ์ถฉ๋ถ„ํžˆ ํ–ˆ์œผ๋‹ˆ๊นŒ, ์ด์ œ ์ง„์งœ ํ˜„์žฅ์—์„œ ๋ฐ”๋กœ ์จ๋จน์„ ์ˆ˜ ์žˆ๋Š” ํŒ๋“ค์„ ์ญ‰ ์ •๋ฆฌํ•ด๋ณผ๊ฒŒ! ๐Ÿ“

โœ… DO โ€” ์ด๋ ‡๊ฒŒ ํ•ด!

1
์•„์ด์ฝ˜ ์„ธํŠธ๋Š” ํ•˜๋‚˜๋งŒ ์จ
ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ Feather Icons์™€ Material Icons๋ฅผ ์„ž์–ด ์“ฐ๋ฉด ์„  ๋‘๊ป˜, ์Šคํƒ€์ผ, ๋น„์œจ์ด ๋‹ฌ๋ผ์„œ ์‹œ๊ฐ์  ๋ถˆ์ผ์น˜๊ฐ€ ์ƒ๊ฒจ. ํ•˜๋‚˜์˜ ์•„์ด์ฝ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ทธ๊ฒƒ๋งŒ ์จ.
2
์•„์ด์ฝ˜ ํฌ๊ธฐ๋Š” 4์˜ ๋ฐฐ์ˆ˜๋กœ
16, 20, 24, 32, 40, 48px์ฒ˜๋Ÿผ 4์˜ ๋ฐฐ์ˆ˜๋กœ ํฌ๊ธฐ๋ฅผ ์ •ํ•˜๋ฉด ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ๊ณผ ์ž˜ ๋งž์•„. ์ด์ƒํ•œ ํฌ๊ธฐ(์˜ˆ: 22px, 27px)๋Š” ํ”ผํ•ด.
3
ํ…์ŠคํŠธ์™€ ํ•จ๊ป˜ ์“ธ ๋•Œ ์ˆ˜์ง ์ •๋ ฌ ํ™•์ธ
์•„์ด์ฝ˜๊ณผ ํ…์ŠคํŠธ๋ฅผ ๋‚˜๋ž€ํžˆ ๋ฐฐ์น˜ํ•  ๋•Œ vertical-align: middle์ด๋‚˜ flexbox์˜ align-items: center๋กœ ์ •๋ ฌ์„ ๋งž์ถฐ. ์–ด๊ธ‹๋‚˜๋ฉด ์—„์ฒญ ์–ด์ƒ‰ํ•ด ๋ณด์—ฌ.
4
SVG ํŒŒ์ผ ์ตœ์ ํ™”๋Š” ํ•„์ˆ˜
๋””์ž์ธ ํˆด์—์„œ ๋‚ด๋ณด๋‚ธ SVG์—๋Š” ๋ถˆํ•„์š”ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„. SVGO๋‚˜ Jake Archibald์˜ SVGOMG(svgomg.net)๋กœ ์ตœ์ ํ™”ํ•˜๋ฉด ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ 60~80%๊นŒ์ง€ ์ค„์ผ ์ˆ˜ ์žˆ์–ด.
5
์•„์ด์ฝ˜์— ์˜๋ฏธ๋ฅผ ๋‹ด์•„
์•„์ด์ฝ˜์€ ํ…์ŠคํŠธ ์—†์ด๋„ ์˜๋ฏธ๊ฐ€ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•ด. ์‚ฌ์šฉ์ž ํ…Œ์ŠคํŠธ์—์„œ ์•„์ด์ฝ˜๋งŒ ๋ณด์—ฌ์ฃผ๊ณ  ์˜๋ฏธ๋ฅผ ๋ฌผ์–ด๋ด. 70% ์ด์ƒ์ด ๋งž์ถ”์ง€ ๋ชปํ•˜๋ฉด ํ…์ŠคํŠธ ๋ ˆ์ด๋ธ”์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ด.

โŒ DON'T โ€” ์ด๊ฑด ํ•˜์ง€ ๋งˆ!

โš ๏ธ ์•„์ด์ฝ˜ ํฌ๊ธฐ๋ฅผ CSS๋กœ๋งŒ ์กฐ์ ˆํ•˜์ง€ ๋งˆ width: 48px; height: 48px;์œผ๋กœ 24px ์•„์ด์ฝ˜์„ 2๋ฐฐ ํ‚ค์šฐ๋ฉด ์„  ๋‘๊ป˜๋„ ์ƒ๋Œ€์ ์œผ๋กœ ์–‡์•„ ๋ณด์—ฌ. ์›๋ž˜ ํฌ๊ธฐ์— ๋งž๋Š” ์•„์ด์ฝ˜์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, SVG์˜ viewBox๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•ด.
โš ๏ธ ๋„ˆ๋ฌด ๋งŽ์€ ์•„์ด์ฝ˜์„ ํ•œ ํ™”๋ฉด์— ์“ฐ์ง€ ๋งˆ ์•„์ด์ฝ˜์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์˜คํžˆ๋ ค ์‹œ๊ฐ์  ๋…ธ์ด์ฆˆ๊ฐ€ ๋ผ. ์ •๋ง ํ•„์š”ํ•œ ๊ณณ์—๋งŒ ์จ. ๋ชจ๋“  ํ…์ŠคํŠธ ์•ž์— ์•„์ด์ฝ˜์„ ๋ถ™์ด๋Š” ๊ฑด ๊ณผ์œ ๋ถˆ๊ธ‰์ด์•ผ.
โš ๏ธ ์•„์ด์ฝ˜๋งŒ์œผ๋กœ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜์ง€ ๋งˆ ์ƒ‰๋งน์ด๋‚˜ ์‹œ๊ฐ ์žฅ์• ๊ฐ€ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์ค‘์š”ํ•œ ์ •๋ณด๋Š” ์•„์ด์ฝ˜ + ํ…์ŠคํŠธ๋กœ ํ•จ๊ป˜ ์ „๋‹ฌํ•ด์•ผ ํ•ด. ํŠนํžˆ ์˜ค๋ฅ˜, ๊ฒฝ๊ณ  ๊ฐ™์€ ์ƒํƒœ ํ‘œ์‹œ๋Š” ๋”์šฑ ์ค‘์š”ํ•ด.
โš ๏ธ ์•„์ด์ฝ˜์„ ์ž„์˜๋กœ ๋ณ€ํ˜•ํ•˜์ง€ ๋งˆ ์•„์ด์ฝ˜์„ ํšŒ์ „, ๋ฐ˜์ „, ๋Š˜๋ฆฌ๊ธฐ ๋“ฑ์œผ๋กœ ๋ณ€ํ˜•ํ•ด์„œ ์ƒˆ๋กœ์šด ์˜๋ฏธ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•ด. ํ•„์š”ํ•˜๋ฉด ์ƒˆ ์•„์ด์ฝ˜์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์•„์ด์ฝ˜์„ ์ฐพ์•„.

๐Ÿ”ง ์„ฑ๋Šฅ ์ตœ์ ํ™” ํŒ

๐Ÿš€ SVG ์Šคํ”„๋ผ์ดํŠธ ์‚ฌ์šฉ ์•„์ด์ฝ˜์ด ๋งŽ๋‹ค๋ฉด ๊ฐœ๋ณ„ SVG ํŒŒ์ผ ๋Œ€์‹  ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•ด. HTTP ์š”์ฒญ ์ˆ˜๋ฅผ ์ค„์—ฌ์„œ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋นจ๋ผ์ ธ.
๐Ÿ“ฆ ํŠธ๋ฆฌ ์‰์ดํ‚น Lucide๋‚˜ Heroicons ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์‚ฌ์šฉํ•˜๋Š” ์•„์ด์ฝ˜๋งŒ ๋ฒˆ๋“ค์— ํฌํ•จ๋˜๋„๋ก ํŠธ๋ฆฌ ์‰์ดํ‚น์„ ์ง€์›ํ•ด. ์ „์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ importํ•˜์ง€ ๋งˆ.
๐Ÿ’พ ์บ์‹ฑ ํ™œ์šฉ SVG ์Šคํ”„๋ผ์ดํŠธ ํŒŒ์ผ์€ ์บ์‹œ ๊ธฐ๊ฐ„์„ ๊ธธ๊ฒŒ ์„ค์ •ํ•ด. ์•„์ด์ฝ˜์€ ์ž์ฃผ ๋ฐ”๋€Œ์ง€ ์•Š์œผ๋‹ˆ๊นŒ 1๋…„ ์บ์‹œ๋„ ๊ดœ์ฐฎ์•„.
๐ŸŽจ CSS๋กœ ์ƒ‰์ƒ ์ œ์–ด currentColor๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ฐ™์€ SVG ํŒŒ์ผ๋กœ ๋‹ค์–‘ํ•œ ์ƒ‰์ƒ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด. ์ƒ‰์ƒ๋ณ„๋กœ ๋ณ„๋„ ํŒŒ์ผ์„ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์–ด.

๐Ÿค” ์ง์ ‘ ๋งŒ๋“ค๊นŒ? ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์“ธ๊นŒ?

์ด ์งˆ๋ฌธ ์ง„์งœ ๋งŽ์ด ๋ฐ›๋Š”๋ฐ, ์ •๋‹ต์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์•ผ. ํŒ๋‹จ ๊ธฐ์ค€์„ ์•Œ๋ ค์ค„๊ฒŒ!

์ƒํ™ฉ ์ถ”์ฒœ ์ด์œ 
์ผ๋ฐ˜์ ์ธ ์›น/์•ฑ ํ”„๋กœ์ ํŠธ โœ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ฆ๋œ ํ’ˆ์งˆ, ๋น ๋ฅธ ๊ฐœ๋ฐœ, ์ ‘๊ทผ์„ฑ ๊ณ ๋ ค๋จ
๊ฐ•ํ•œ ๋ธŒ๋žœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ•„์š” โœ… ์ง์ ‘ ์ œ์ž‘ ๋ธŒ๋žœ๋“œ ๊ณ ์œ ์˜ ์Šคํƒ€์ผ ํ‘œํ˜„ ๊ฐ€๋Šฅ
ํŠน์ˆ˜ํ•œ ๋„๋ฉ”์ธ (์˜๋ฃŒ, ๋ฒ•๋ฅ  ๋“ฑ) โœ… ์ง์ ‘ ์ œ์ž‘ ์ผ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์—†๋Š” ํŠน์ˆ˜ ์•„์ด์ฝ˜ ํ•„์š”
๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ดํ•‘ โœ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†๋„๊ฐ€ ์ตœ์šฐ์„ , ๋‚˜์ค‘์— ๊ต์ฒด ๊ฐ€๋Šฅ
๋Œ€๊ทœ๋ชจ ๋””์ž์ธ ์‹œ์Šคํ…œ โœ… ์ง์ ‘ ์ œ์ž‘ ์ผ๊ด€์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์™„์ „ํžˆ ํ†ต์ œ ๊ฐ€๋Šฅ
์†Œ๊ทœ๋ชจ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ โœ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„์šฉ ๋Œ€๋น„ ํšจ์œจ์ด ์••๋„์ ์œผ๋กœ ์ข‹์Œ
๐Ÿ’ก ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ „๋žต ๋งŽ์€ ์ „๋ฌธ ๋””์ž์ด๋„ˆ๋“ค์ด ์“ฐ๋Š” ๋ฐฉ๋ฒ•์ด์•ผ. ๊ธฐ๋ณธ ์•„์ด์ฝ˜(ํ™ˆ, ๊ฒ€์ƒ‰, ์„ค์ • ๋“ฑ)์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ฐ๊ณ , ๋ธŒ๋žœ๋“œ ํŠนํ™” ์•„์ด์ฝ˜(๋กœ๊ณ , ํŠน์ˆ˜ ๊ธฐ๋Šฅ ์•„์ด์ฝ˜ ๋“ฑ)๋งŒ ์ง์ ‘ ๋งŒ๋“œ๋Š” ๊ฑฐ์•ผ. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํšจ์œจ์„ฑ๊ณผ ๋…์ฐฝ์„ฑ์„ ๋™์‹œ์— ์žก์„ ์ˆ˜ ์žˆ์–ด!

์ฐธ๊ณ ๋กœ, ๋””์ž์ธ ์žฌ๋Šฅ์„ ๊ฑฐ๋ž˜ํ•˜๋Š” ์žฌ๋Šฅ๋„ท์—์„œ๋„ ์•„์ด์ฝ˜ ๋””์ž์ธ ์ „๋ฌธ๊ฐ€๋“ค์ด ํ™œ๋™ํ•˜๊ณ  ์žˆ์–ด. ์ง์ ‘ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค๋ฉด ์ „๋ฌธ ๋””์ž์ด๋„ˆ์—๊ฒŒ ์˜๋ขฐํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ์„ ํƒ์ด์•ผ. ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์„ธํŠธ ์ œ์ž‘์€ ๋””์ž์ด๋„ˆ๋“ค์ด ์ž์ฃผ ๋ฐ›๋Š” ์˜๋ขฐ ์ค‘ ํ•˜๋‚˜๊ฑฐ๋“ !

๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ์ œ์ž‘ ํ”„๋กœ์„ธ์Šค โ‘  ๊ธฐํš ์•„์ด์ฝ˜ ๋ชฉ๋ก ์ž‘์„ฑ ์Šคํƒ€์ผ ๋ฐฉํ–ฅ ๊ฒฐ์ • โ‘ก ๊ทธ๋ฆฌ๋“œ ์„ค์ • ์บ”๋ฒ„์Šค ํฌ๊ธฐ ๊ฒฐ์ • ์„  ๋‘๊ป˜ ๊ธฐ์ค€ ์„ค์ • โ‘ข ์Šค์ผ€์น˜ ๊ธฐ๋ณธ ํ˜•ํƒœ ์žก๊ธฐ ๋น„์œจ ๋ฐ ๊ท ํ˜• ํ™•์ธ โ‘ฃ ๋ฒกํ„ฐ ๋“œ๋กœ์ž‰ ํŽœ ํˆด๋กœ ์ •๊ตํ™” ํ”ฝ์…€ ๊ทธ๋ฆฌ๋“œ ์ •๋ ฌ โ‘ค ์Šคํƒ€์ผ ์ ์šฉ stroke ์„ค์ • ํ†ต์ผ linecap/join ์„ค์ • โ‘ฅ ๊ฒ€ํ†  ๋ฐ ์ˆ˜์ • ์ผ๊ด€์„ฑ ์ฒดํฌ ๊ด‘ํ•™์  ๋ณด์ • โ‘ฆ SVG ์ตœ์ ํ™” SVGO ์ฒ˜๋ฆฌ ๋ถˆํ•„์š” ์ฝ”๋“œ ์ œ๊ฑฐ โ‘ง ๋ฐฐํฌ ์ปดํฌ๋„ŒํŠธํ™” ๋ฌธ์„œํ™” ๋ฐ ๊ณต์œ  โ†‘ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ โ€” ์‚ฌ์šฉ์ž ๋ฐ˜์‘์— ๋”ฐ๋ผ ๋ฐ˜๋ณต ๊ฐœ์„  ๐Ÿ› ๏ธ ์ถ”์ฒœ ๋„๊ตฌ Figma Adobe Illustrator Sketch SVGOMG Inkscape ๋””์ž์ธ ์ œ์ž‘ ์ „๋ฌธ ๋ฒกํ„ฐ ํŽธ์ง‘ Mac ์ „์šฉ SVG ์ตœ์ ํ™” ๋ฌด๋ฃŒ ํŽธ์ง‘๊ธฐ

๐ŸŽ‰ ๋งˆ๋ฌด๋ฆฌ: ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜, ์ด์ œ ๋‘๋ ต์ง€ ์•Š์ง€?

์ž, ์—ฌ๊ธฐ๊นŒ์ง€ ์™”์œผ๋ฉด ์ด์ œ ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์— ๋Œ€ํ•ด ๊ฝค ๋งŽ์ด ์•Œ๊ฒŒ ๋์„ ๊ฑฐ์•ผ! ์ฒ˜์Œ์—” "๊ทธ๋ƒฅ ์„ ์œผ๋กœ ๊ทธ๋ฆฐ ์•„์ด์ฝ˜ ์•„๋ƒ?" ์‹ถ์—ˆ๋Š”๋ฐ, ์•Œ๊ณ  ๋ณด๋ฉด ์—„์ฒญ๋‚œ ๋””์ž์ธ ์ฒ ํ•™๊ณผ ๊ธฐ์ˆ ์ด ๋‹ด๊ฒจ ์žˆ์ง€? ๐Ÿ˜„

ํ•ต์‹ฌ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด๋ณผ๊ฒŒ:

โœ“
๋ชจ๋…ธ๋ผ์ธ = ์ผ๊ด€๋œ ์„  ๋‘๊ป˜ + ์ฑ„์›€ ์—†์Œ
์ด ๋‘ ๊ฐ€์ง€๋งŒ ์ง€ํ‚ค๋ฉด ๊ธฐ๋ณธ์€ ์™„์„ฑ์ด์•ผ.
โœ“
๊ธฐ์ˆ ์  ๊ทœ์น™์„ ์ง€์ผœ์•ผ ์ง„์งœ ๋ชจ๋…ธ๋ผ์ธ
stroke-width, linecap, linejoin, ํ”ฝ์…€ ๊ทธ๋ฆฌ๋“œ โ€” ์ด ๋„ค ๊ฐ€์ง€๊ฐ€ ํ•ต์‹ฌ์ด์•ผ.
โœ“
์›น์—์„œ๋Š” currentColor์™€ SVG๋ฅผ ํ™œ์šฉ
๋‹คํฌ๋ชจ๋“œ, ํ…Œ๋งˆ ๋ณ€๊ฒฝ, ํ˜ธ๋ฒ„ ํšจ๊ณผ๋ฅผ CSS ํ•œ ์ค„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด.
โœ“
์ƒ์„ธํŽ˜์ด์ง€์—์„œ ์•„์ด์ฝ˜์€ ์ „ํ™˜์œจ์„ ๋†’์—ฌ
ํ˜œํƒ ๋‚˜์—ด, ์‹ ๋ขฐ ๋ฐฐ์ง€, ์ŠคํŽ™ ํ‘œ์‹œ์— ๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์„ ์ „๋žต์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ด.
โœ“
์ ‘๊ทผ์„ฑ์„ ์žŠ์ง€ ๋งˆ
aria-hidden, aria-label, ์ƒ‰์ƒ ๋Œ€๋น„ โ€” ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๋””์ž์ธ์ด ์ง„์งœ ์ข‹์€ ๋””์ž์ธ์ด์•ผ.

๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜์€ ๋‹จ์ˆœํ•จ ์†์— ๋ณต์žกํ•จ์ด ์ˆจ์–ด ์žˆ์–ด.
์„  ํ•˜๋‚˜์˜ ๋‘๊ป˜, ๋์ฒ˜๋ฆฌ, ๊บพ์ž„ ๋ฐฉ์‹ โ€” ์ด ์ž‘์€ ๋””ํ…Œ์ผ๋“ค์ด ๋ชจ์—ฌ์„œ
์‚ฌ์šฉ์ž๊ฐ€ ๋А๋ผ๋Š” ๋ธŒ๋žœ๋“œ์˜ ์‹ ๋ขฐ๊ฐ๊ณผ ์ „๋ฌธ์„ฑ์„ ๋งŒ๋“ค์–ด๋‚ด๊ฑฐ๋“ .
๋””์ž์ธ์€ ๊ฒฐ๊ตญ ๋””ํ…Œ์ผ์˜ ์‹ธ์›€์ด์•ผ. ๐ŸŽฏ

์ด์ œ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ ์•„์ด์ฝ˜์„ ๊ณ ๋ฅผ ๋•Œ, ๋˜๋Š” ์ง์ ‘ ๋งŒ๋“ค ๋•Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์„ ๋– ์˜ฌ๋ ค๋ด. ์„  ๋‘๊ป˜ ํ•˜๋‚˜, ๋์ฒ˜๋ฆฌ ํ•˜๋‚˜์—๋„ ์˜๋„๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด โ€” ๊ทธ๊ฒŒ ๋ฐ”๋กœ ์ง„์งœ ๋””์ž์ด๋„ˆ์˜ ๋ˆˆ์ด์•ผ! ๐Ÿ‘๏ธ

๋ชจ๋…ธ๋ผ์ธ ์•„์ด์ฝ˜ ๋””์ž์ธ, ์ด์ œ ์ž์‹  ์žˆ์ง€? ํ™”์ดํŒ…! ๐Ÿš€โœจ

๋Œ“๊ธ€ ์ž‘์„ฑ

์ด ๊ธ€์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ƒ๊ฐ์„ ๋“ค๋ ค์ฃผ์„ธ์š”

๋Œ“๊ธ€ 0
๋Œ“๊ธ€์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.

์•„์ง ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค.