๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

CSS ์†์„ฑ 09. font

โ—๏ธ ํ•ด๋‹น ๊ธ€์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค - ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ฐ•์˜์—์„œ HTML & CSS, SASS(SCSS) Part์˜ ๋ฐ•์˜์›… ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

font#

๊ธ€์ž ๊ด€๋ จ ์†์„ฑ๋“ค์„ ์ง€์ • - ๋‹จ์ถ• ์†์„ฑ


์†์„ฑ ๊ฐ’#

๊ฐ’์˜๋ฏธ๊ธฐ๋ณธ๊ฐ’
font-style๊ธ€์ž ๊ธฐ์šธ๊ธฐ ์ง€์ •normal
font-weight๊ธ€์ž ๋‘๊ป˜ ์ง€์ •normal
font-size๊ธ€์ž ํฌ๊ธฐ ์ง€์ •medium ( 16px )
line-height์ค„ ๋†’์ด(์ค„ ๊ฐ„๊ฒฉ) ์ง€์ •normal ( reset.css ์ ์šฉ์‹œ 1 )
font-family๊ธ€๊ผด(์„œ์ฒด) ์ง€์ •์šด์˜์ฒด์ œ(๋ธŒ๋ผ์šฐ์ €)์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง

์‚ฌ์šฉ๋ฒ•#

font: ๊ธฐ์šธ๊ธฐ ๋‘๊ป˜ ํฌ๊ธฐ / ์ค„๋†’์ด ๊ธ€๊ผด;

โ˜๏ธ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹จ์ถ• ์†์„ฑ์˜ ๊ฒฝ์šฐ ๊ฐ’์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ์–ด๋„ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ font ํฌ๊ธฐ์™€ ์ค„ ๋†’์ด๋Š” ๊ฐ™์€ ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆœ์„œ๋ฅผ ์•Œ์•„์•ผ CSS๊ฐ€ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ โ€™ํฌ๊ธฐ / ์ค„๋†’์ดโ€™๋กœ / ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

.box {font: italic bold 20px / 1.5 "Arial", sans-serif;}
.box {font: 30px / 1.5;             /* ERROR */font: bold;                   /* ERROR */font: bold sans-serif;        /* ERROR */font: 30px / 1.5 sans-serif;font: bold 30px sans-serif;font: italic 30px / 1.5 "Arial", sans-serif;}

โ˜๏ธ ๋‹จ์ถ• ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด font-size ์™€ font-family ๋Š” ํ•„์ˆ˜์ ์œผ๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค .


font-style#

๊ธ€์ž ์Šคํƒ€์ผ(๊ธฐ์šธ๊ธฐ)์„ ์ง€์ • - ๊ฐœ๋ณ„ ์†์„ฑ


์†์„ฑ ๊ฐ’#

๊ฐ’์˜๋ฏธ๊ธฐ๋ณธ๊ฐ’
normal์Šคํƒ€์ผ ์—†์Œnormal
italic์ดํƒค๋ฆญ์ฒด(ํ™œ์ž)
oblique๊ธฐ์šธ์–ด์ง„ ๊ธ€์ž

์˜ˆ์ œ#

<p>Hello world!</p>
p {font-style: italic;}

โ˜๏ธ italic ๊ณผ oblique ์˜ ์ฐจ์ด - italic vs oblique in CSS


font-weight#

๊ธ€์ž ๋‘๊ป˜(๊ฐ€์ค‘์น˜)๋ฅผ ์ง€์ • - ๊ฐœ๋ณ„ ์†์„ฑ


์†์„ฑ ๊ฐ’#

๊ฐ’์˜๋ฏธ๊ธฐ๋ณธ๊ฐ’
normal๊ธฐ๋ณธ ๊ธ€์ž ๋‘๊ป˜, 400 ๊ณผ ๋™์ผnormal (400)
bold๊ธ€์ž ๋‘๊ป๊ฒŒ, 700 ๊ณผ ๋™์ผ
bolder๋ถ€๋ชจ(์ƒ์œ„) ์š”์†Œ๋ณด๋‹ค ๋” ๋‘๊ป๊ฒŒ( bold ๋ณด๋‹ค ๋‘๊ป๋‹ค๋Š” ๊ฐœ๋…์ด ์•„๋‹˜)
lighter๋ถ€๋ชจ(์ƒ์œ„) ์š”์†Œ๋ณด๋‹ค ๋” ์–‡๊ฒŒ
์ˆซ์ž100 ๋ถ€ํ„ฐ 900 ๊นŒ์ง€์˜ 100๋‹จ์œ„์˜ ์ˆซ์ž 9๊ฐœ, normal ๊ณผ bold ์ด์™ธ์˜ ๋‘๊ป˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธ€๊ผด(์„œ์ฒด)์„ ์œ„ํ•œ ์„ค์ •

์ผ๋ฐ˜์ ์ธ ๋‘๊ป˜์˜ ์ด๋ฆ„#

font-weight ์˜ ๊ฐ ๊ฐ’์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธ€๊ผด์˜ ์ด๋ฆ„์œผ๋กœ ํ‘œํ˜„๋จ

๊ฐ’์ผ๋ฐ˜์ ์ธ ๋‘๊ป˜ ์ด๋ฆ„
100Thin (Hairline)
200Extra Light (Ultra Light)
300Light
400Normal (๊ธฐ๋ณธ)
500Medium
600Semi Bold (Demi Bold)
700Bold
800Extra Bold (Ultra Bold)
900Black (Heavy)

์ƒ๋Œ€์  ๋‘๊ป˜#

bolder ๋‚˜ lighter ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ถ€๋ชจ(์ƒ์œ„) ์š”์†Œ์—๊ฒŒ ์ƒ์†๋ฐ›์€ ๊ฐ’์—์„œ ๋‹ค์Œ๊ณผ๊ฐ™์ด ๊ณ„์‚ฐ๋จ

์ƒ์† ๊ฐ’bolderlighter
100400100
200400100
300400100
400700100
500700100
600900400
700900400
800900700
900900700

์ˆซ์ž ๊ฐ’๊ณผ ๋‘๊ป˜์˜ ๋ถˆ์ผ์น˜#

๊ธ€๊ผด(์„œ์ฒด)์˜ ์ •ํ™•ํ•œ ๋‘๊ป˜๋ฅผ ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ..

  1. 400 ์ด ์ฃผ์–ด์ง€๋ฉด 500 ์„ ์‚ฌ์šฉํ•˜๊ณ , 500 ์ด ๋ถˆ๊ฐ€ํ•˜๋ฉด 500 ๋ฏธ๋งŒ์˜ ๋‹ค๋ฅธ ๋‘๊ป˜์‚ฌ์šฉ

  2. 500 ์ด ์ฃผ์–ด์ง€๋ฉด 400 ์„ ์‚ฌ์šฉํ•˜๊ณ , 400 ์ด ๋ถˆ๊ฐ€ํ•˜๋ฉด 400 ๋ฏธ๋งŒ์˜ ๋‹ค๋ฅธ ๋‘๊ป˜์‚ฌ์šฉ

  3. 500 ๋ฏธ๋งŒ ๊ฐ’์ด ์ฃผ์–ด์ง€๋ฉด, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆซ์ž์˜ ์–‡์€ ๋‘๊ป˜ ์‚ฌ์šฉ

  4. 500 ์ดˆ๊ณผ ๊ฐ’์ด ์ฃผ์–ด์ง€๋ฉด, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆซ์ž์˜ ๋‘๊บผ์šด ๋‘๊ป˜ ์‚ฌ์šฉ

์˜ˆ๋ฅผ ๋“ค๋ฉด normal ๊ณผ bold ๋งŒ ์ง€์›ํ•˜๋Š” ๊ธ€๊ผด์ผ ๊ฒฝ์šฐ, 100 ~ 500 ์€ normal ์„ ์˜๋ฏธํ•˜๊ณ , 600 ~ 900 ์€ bold ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.


font-size#

๊ธ€์ž์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ • - ๊ฐœ๋ณ„ ์†์„ฑ


์†์„ฑ ๊ฐ’#

๊ฐ’์˜๋ฏธ๊ธฐ๋ณธ๊ฐ’
๋‹จ์œ„px , em , cm ๋“ฑ ๋‹จ์œ„๋กœ ์ง€์ •16px
%๋ถ€๋ชจ(์ƒ์œ„) ์š”์†Œ์˜ ๋น„์œจ๋กœ ์ง€์ •
xx-small๊ฐ€์žฅ ์ž‘์€ ํฌ๊ธฐ
x-small๋” ์ž‘์€ ํฌ๊ธฐ
small์ž‘์€ ํฌ๊ธฐ
medium์ค‘๊ฐ„ ํฌ๊ธฐmedium
largeํฐ ํฌ๊ธฐ
x-large๋” ํฐ ํฌ๊ธฐ
xx-large๊ฐ€์žฅ ํฐ ํฌ๊ธฐ
smaller๋ถ€๋ชจ(์ƒ์œ„) ์š”์†Œ๋ณด๋‹ค ์ž‘์€ ํฌ๊ธฐ
larger๋ถ€๋ชจ(์ƒ์œ„) ์š”์†Œ๋ณด๋‹ค ํฐ ํฌ๊ธฐ

โ˜๏ธ xx-small ๋ถ€ํ„ฐ xx-large ๊นŒ์ง€์˜ ๊ฐ’์€ ๋ถˆ๋ช…ํ™•ํ•œ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ์„ ์ถ”์ฒœํ•˜์ง€ ์•Š์Œ


line-height#

์ค„ ๋†’์ด(ํ–‰๊ฐ„) ์ง€์ • - ๊ฐœ๋ณ„ ์†์„ฑ


์†์„ฑ ๊ฐ’#

๊ฐ’์˜๋ฏธ๊ธฐ๋ณธ๊ฐ’
normal๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ ์ •์˜๋ฅผ ์‚ฌ์šฉ( 1 ~ 1.4 )normal
์ˆซ์ž์š”์†Œ ์ž์ฒด ๊ธ€๊ผด ํฌ๊ธฐ์˜ ๋ฐฐ์ˆ˜๋กœ ์ง€์ •
๋‹จ์œ„px , em , cm ๋“ฑ ๋‹จ์œ„๋กœ ์ง€์ •
%์š”์†Œ ์ž์ฒด ๊ธ€๊ผด ํฌ๊ธฐ์˜ ๋น„์œจ๋กœ ์ง€์ •

2020-02-03-css-์†์„ฑ-09-font-image-0

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : Deep dive CSS: font metrics, line-height and vertical-align

โ˜๏ธ line-height ๋Š” ์ฒซ ๋ฒˆ์งธ ์ค„๊ณผ ๋‘ ๋ฒˆ์งธ ์ค„ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ๋งํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•œ์ค„์ด ๊ฐ€์ง€๋Š” ๋†’์ด ๊ฐ’์ด๋‹ค.


font-family#

๊ธ€๊ผด(์„œ์ฒด) ์ง€์ • - ๊ฐœ๋ณ„ ์†์„ฑ


์†์„ฑ ๊ฐ’#

๊ฐ’์˜๋ฏธ๊ธฐ๋ณธ๊ฐ’
๊ธ€๊ผด์ด๋ฆ„๊ธ€๊ผด(์„œ์ฒด) ํ›„๋ณด ๋ชฉ๋ก์„ ์ง€์ •
serif sans-serifmonospacecursivefantasy๊ธ€๊ผด ๊ณ„์—ด ์ด๋ฆ„์„ ์ง€์ •

์‚ฌ์šฉ๋ฒ•#

font-family: [๊ธ€๊ผด ํ›„๋ณด1, ๊ธ€๊ผด ํ›„๋ณด2, ... ], ๊ธ€๊ผด ๊ณ„์—ด;
.box {font-family: Arial, "Open Sans", "๋‹์›€", dotum, sans-serif;}

โ˜๏ธ ๊ธ€๊ผด ๊ณ„์—ด์€ ํ•„์ˆ˜๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.


โ“ ์™œ ํ›„๋ณด๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ž…๋ ฅํ•˜๋Š”๊ฐ€?#

๋ธŒ๋ผ์šฐ์ €๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ์›น ํŽ˜์ด์ง€์˜ ๋ฆฌ์†Œ์Šค๋“ค(์ด๋ฏธ์ง€, ํฐํŠธ ๋“ฑ)์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค.

ํฐํŠธ์˜ ๊ฒฝ์šฐ ์šฉ๋Ÿ‰์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์›น ํฐํŠธ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ปดํ“จํ„ฐ์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ํ›„๋ณด๋ฅผ ๋ช…์‹œํ•ด OS ํ™˜๊ฒฝ, ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ๋งˆ๋‹ค ์‚ฌ์šฉํ•  ํฐํŠธ๋ฅผ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ๊ธ€๊ผด ๊ณ„์—ด ์—ญ์‹œ ํ•ด๋‹น ๊ณ„์—ด์˜ ์„œ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜์žˆ๋‹ค.

์›น ํฐํŠธ : ์›น์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜๊ฒŒ ์šฉ๋Ÿ‰์„ ๊ฒฝ๋Ÿ‰ํ™”ํ•œ ํฐํŠธ


๊ธ€๊ผด ๊ณ„์—ด(Generic family)#

๊ณ„์—ด์˜๋ฏธ์˜ˆ์‹œ
serif๋ฐ”ํƒ•์ฒด ๊ณ„์—ด
sans-serif๊ณ ๋”•์ฒด ๊ณ„์—ด
monospace๊ณ ์ •๋„ˆ๋น„(๊ฐ€๋กœํญ์ด ๋™๋“ฑํ•œ) ๊ธ€๊ผด ๊ณ„์—ด
cursiveํ•„๊ธฐ์ฒด ๊ณ„์—ด
fantasy์žฅ์‹(์žฌ๋ฏธ์žˆ๋Š” ๋ฌธ์ž ํ‘œํ˜„์„ ํฌํ•จํ•˜๋Š”) ๊ธ€๊ผด ๊ณ„์—ด

Reference#

ํŒจ์ŠคํŠธ์บ ํผ์Šค - ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ฐ•์˜ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong