๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปWEB FrontEnd/CSS3

ํ…์ŠคํŠธ ๊ด€๋ จ ์Šคํƒ€์ผ- ๊ธ€๊ผด

<Do it! HTML5+CSS3>์„ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

๋ชฉ์ฐจ

  • 1) ๊ธ€๊ผด ์ง€์ • - font-family ์†์„ฑ
  • 2) ์›น ํฐํŠธ ์‚ฌ์šฉ -  font-face ์†์„ฑ 
  • 3) ๊ธ€์ž ํฌ๊ธฐ ์กฐ์ ˆ - font-size
  • 4) ๊ธ€์ž ๊ตต๊ธฐ ์ง€์ • - font-weight
  • 5) ์ž‘์€ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ์‹œ - font-variant
  • 6) ๊ธ€๊ผด ์†์„ฑ์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ํ‘œํ˜„ - font

 

<ํ…์ŠคํŠธ ๊ด€๋ จ ์Šคํƒ€์ผ>

๊ธ€๊ผด ๊ด€๋ จ ์Šคํƒ€์ผ

1) ๊ธ€๊ผด ์ง€์ • - font-family ์†์„ฑ

  • [์œˆ๋„์šฐ์˜ ๊ธฐ๋ณธ ๊ธ€๊ผด]์ด ์•„๋‹ˆ๊ณ  ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ํ™”๋ฉด์— ํ‘œ์‹œํ•  ์ˆ˜ ์—†๋‹ค.
  • font-family์†์„ฑ์€ ์ƒ์†๋œ๋‹ค. ๋•Œ๋ฌธ์— ๋ฌธ์„œ ์•ˆ์˜ ๋ชจ๋“  ์ž์‹ ์š”์†Œ์— ๊ณ„์† ๊ฐ™์€ ๊ธ€๊ผด์ด ์‚ฌ์šฉ๋œ๋‹ค. 
  • ์ ์šฉ๋œ ๊ธ€๊ผด์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๊ธ€๊ผด์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํƒœ๊ทธ ์Šคํƒ€์ผ์ด๋‚˜ ํด๋ž˜์Šค ์Šคํƒ€์ผ์„ ์ด์šฉํ•ด ํ•ด๋‹น ์š”์†Œ์—์„œ ๋‹ค๋ฅธ ๊ธ€๊ผด๋กœ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค.
์„ ํƒ์ž {font-family:"๋ง‘์€ ๊ณ ๋”•", ๋‹์›€, ๊ตด๋ฆผ}

 

 

2) ์›น ํฐํŠธ ์‚ฌ์šฉ -  font-face ์†์„ฑ 

์›น ํฐํŠธ๋ž€ ์›น ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์›น ๋ฌธ์„œ ์•ˆ์— ๊ธ€๊ผด ์ •๋ณด๋„ ํ•จ๊ป˜ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์›น ๋ฌธ์„œ์— ์ ‘์†ํ•˜๋ฉด ๊ธ€๊ผด์„ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์œผ๋กœ ๋‹ค์šด๋กœ๋“œ ์‹œํ‚ค๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

- ๊ตฌ๊ธ€ ์›น ํฐํŠธ ์‚ฌ์šฉํ•˜๊ธฐ

  1. ๊ตฌ๊ธ€ ํฐํŠธ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด ๊ธ€๊ผด์„ ์„ ํƒํ•œ๋‹ค.
  2. [select this style > embed]๋ฉ”๋‰ด์— ๋“ค์–ด๊ฐ€๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ž‘์€ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚œ๋‹ค. 
  3. embed๋ฉ”๋‰ด์—์„œ <link>๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ถ€๋ถ„์„ ๋ณต์‚ฌํ•ด ์›น ๋ฌธ์„œ์˜ <style>ํƒœ๊ทธ์— ๋ถ™์—ฌ ๋„ฃ๋Š”๋‹ค.
  4. ๊ธ€๊ผด์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ์š”์†Œ์— embed๋ฉ”๋‰ด์˜ [CSS rules to specify family]์—์„œ ์•Œ๋ ค์ค€ ๊ธ€๊ผด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
<head>
  <meta charset="utf-8">
  <title>์›น ํฐํŠธ ์‚ฌ์šฉํ•˜๊ธฐ</title>
  <style>
    @import url(http://fonts.googleapis.com/earlyaccess/nanumgothic.css);  /* ๊ตฌ๊ธ€ ์›น ํฐํŠธ */
    .ng-font {
      font-family:'Nanum Gothic', ๋‹์›€;  //์›น ํฐํŠธ ์ง€์ •
    }
  </style>
</head>
<body>
  <p class="ng-font">๋‚˜๋ˆ”๊ณ ๋”• ์›น ํฐํŠธ ์‚ฌ์šฉ</p>
</body>

 

- ์ง์ ‘ ์›น ํฐํŠธ ์—…๋กœ๋“œํ•ด ์‚ฌ์šฉํ•˜๊ธฐ

  • ์›น์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฐํŠธ : woff(*.woff), ํŠธ๋ฃจํƒ€์ž…(.ttf), ์˜คํ”ˆํƒ€์ž…(*.ttf, *.otf), ์ž„๋ฒ ๋””๋“œ ์˜คํ”ˆํƒ€์ž…(*.eot), svg ํฐํŠธ(*.svg, *.svgz)
  • ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธ€๊ผด์€ ํŠธ๋ฃจํƒ€์ž… ์œ ํ˜•์ด์ง€๋งŒ, ์ด ์œ ํ˜•์˜ ๊ธ€๊ผด์€ ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ปค์„œ ์›น์—์„œ๋Š” eot์™€ woffํŒŒ์ผ์ด ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.
  • ๊ธ€๊ผด ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ด ์›นํฐํŠธ๊ฐ€ ์ค€๋น„๋˜์—ˆ๋‹ค๋ฉด ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด @font-face์†์„ฑ์„ ์‚ฌ์šฉํ•ด ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
<head>
  <meta charset="utf-8">
  <title>์›น ํฐํŠธ ์‚ฌ์šฉํ•˜๊ธฐ</title>
  <style>
    @font-face {
      font-family: 'trana'; /* ๊ธ€๊ผด */
      src: local('trana'),
        url('trana.eot'),
        url('trana.woff') format('woff'),
        url('trana.ttf') format('truetype');
     }
    .w-font {
      font-family:'trana', sans-serif; /* ์›น ํฐํŠธ ์ง€์ • */
    }
  </style>
</head>
<body>
  <p class="w-font">Using Trana Fonts</p>
</body>

 

 

3) ๊ธ€์ž ํฌ๊ธฐ ์กฐ์ ˆ - font-size

์„ ํƒ์ž {font-size: ์†์„ฑ ๊ฐ’}

 

์†์„ฑ ๊ฐ’ ์„ค๋ช…
<์ ˆ๋Œ€ ํฌ๊ธฐ> ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์ •ํ•œ ๊ธ€์ž ํฌ๊ธฐ์ด๋‹ค.
xx-small, x-small, small, medium, large, x-large, xx-large
<์ƒ๋Œ€ ํฌ๊ธฐ> ๋ถ€๋ชจ ์š”์†Œ์˜ font-size๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋” ํฌ๊ฒŒ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ๋” ์ž‘๊ฒŒ ํ‘œ์‹œํ•œ๋‹ค.
larger, smaller
<ํฌ๊ธฐ> ๋ธŒ๋ผ์šฐ์ €์™€ ์ƒ๊ด€์—†์ด ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•œ๋‹ค.
๋‹จ์œ„ : px, pt, em, ex
<๋ฐฑ๋ถ„์œจ> ๋ถ€๋ชจ ์š”์†Œ์˜ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด๋‹นํ•˜๋Š” %๋ฅผ ๊ณ„์‚ฐํ•ด ํ‘œ์‹œํ•œ๋‹ค.

 

 

4) ๊ธ€์ž ๊ตต๊ธฐ ์ง€์ • - font-weight

์„ ํƒ์ž {font-weight: ์†์„ฑ ๊ฐ’}
์†์„ฑ ๊ฐ’ ์„ค๋ช…
normal ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ๋กœ ๊ธฐ๋ณธ ๊ฐ’์ด๋‹ค.
bold ๋˜๋Š” lighter ๋˜๋Š” bolder ๊ตต๊ฒŒ, ๋” ๊ฐ€๋Š˜๊ฒŒ, ๋” ๊ตต๊ฒŒ ๋‚˜ํƒ€๋‚ธ๋‹ค.
100~900์‚ฌ์ด์˜ ์ˆ˜์น˜ ์ˆซ์ž ๊ฐ’์„ ์กฐ์ ˆํ•ด ์ข€ ๋” ์„ธ๋ฐ€ํžˆ ๊ธ€๊ผด ๋‘๊ป˜๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.
(400์€ normal, 700์€ bold์— ํ•ด๋‹น)

 

 

5) ์ž‘์€ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ์‹œ - font-variant

์ž‘์€ ๋Œ€๋ฌธ์ž๋ž€ ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž ํฌ๊ธฐ์— ๋งž์ถ”์–ด ์ž‘๊ฒŒ ํ‘œ์‹œํ•œ ๊ฒƒ์ด๋‹ค.

์„ ํƒ์ž {font-variant: normal ๋˜๋Š” small-caps}

 

 

 

6) ๊ธ€๊ผด ์†์„ฑ์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ํ‘œํ˜„ - font

์„ ํƒ์ž { font: <font-style><font-weight><font-size/line-height><font-family> ์†์„ฑ๊ฐ’}
์†์„ฑ ๊ฐ’ ์„ค๋ช…
font-* font-๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ธ€๊ผด ๊ด€๋ จ ์†์„ฑ์„ ํ•œ๊บผ๋ฒˆ์— ๋‚˜์—ดํ•œ๋‹ค.
caption ์บก์…˜์— ์–ด์šธ๋ฆฌ๋Š” ๊ธ€๊ผด ์Šคํƒ€์ผ๋กœ ํ‘œ์‹œํ•œ๋‹ค.
icon ์•„์ด์ฝ˜์— ์–ด์šธ๋ฆฌ๋Š” ๊ธ€๊ผด ์Šคํƒ€์ผ๋กœ ํ‘œ์‹œํ•œ๋‹ค.
menu ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์— ์–ด์šธ๋ฆฌ๋Š” ๊ธ€๊ผด ์Šคํƒ€์ผ๋กœ ํ‘œ์‹œํ•œ๋‹ค.
message-box ๋Œ€ํ™”์ƒ์ž์— ์–ด์šธ๋ฆฌ๋Š” ๊ธ€๊ผด ์Šคํƒ€์ผ๋กœ ํ‘œ์‹œํ•œ๋‹ค.
small-caption ์ž‘์€ ์บก์…˜์— ์–ด์šธ๋ฆฌ๋Š” ๊ธ€๊ผด ์Šคํƒ€์ผ๋กœ ํ‘œ์‹œํ•œ๋‹ค.
status-bar ์ƒํƒœ ํ‘œ์‹œ์ค„์— ์–ด์šธ๋ฆฌ๋Š” ๊ธ€๊ผด ์Šคํƒ€์ผ๋กœ ํ‘œ์‹œํ•œ๋‹ค.