-
[CSS] ํ ์คํธ ๊ด๋ จ ์คํ์ผ๊ณผ ์์ - 1๐ FrontEnd/HTML & CSS 2022. 5. 17. 22:00
์์ํ๋ฉด์
ํ ์คํธ์ ๊ด๋ จ๋ ์คํ์ผ์ ์์ ์ ํจ๊ป ๊ณต๋ถํฉ๋๋ค.
1. ๊ธ๊ผด ๊ด๋ จ ์คํ์ผ
(1) font-family ์์ฑ - ๊ธ๊ผด ์ง์ ํ๊ธฐ
- ์น ๋ฌธ์์์ ์ฌ์ฉํ ๊ธ๊ผด์ ์ง์ ํฉ๋๋ค.
- body ํ๊ทธ๋ฅผ ๋น๋กฏํด p ํ๊ทธ๋ hn ํ๊ทธ์ฒ๋ผ ํ ์คํธ๋ฅผ ์ฌ์ฉํ๋ ์์๋ค์์ ์ฌ์ฉํฉ๋๋ค.
/* ๊ธฐ๋ณธํ */ font-family: "๊ธ๊ผด ์ด๋ฆ", "๊ธ๊ผด ์ด๋ฆ", "๊ธ๊ผด ์ด๋ฆ";
/* ์ */ p { font-family: "๊ตด๋ฆผ"; /* ํ ์คํธ ๋จ๋ฝ์ ๊ธ๊ผด์ '๊ตด๋ฆผ'์ผ๋ก ์ง์ */ } body { font-family: "๋ง์ ๊ณ ๋", "๋์", "๊ตด๋ฆผ"; }
(2) @font-face ์์ฑ - ์น ํฐํธ ์ฌ์ฉํ๊ธฐ
- ์น ํฐํธ(web font) ๋?
- ์น ๋ฌธ์๋ฅผ ์์ฑํ ๋ ์น ๋ฌธ์ ์์ ๊ธ๊ผด ์ ๋ณด๋ ํจ๊ป ์ ์ฅํ๋ค๊ฐ ์ฌ์ฉ์๊ฐ ์น ๋ฌธ์์ ์ ์ํ๋ฉด ๊ธ๊ผด์ ์ฌ์ฉ์ ์์คํ ์ผ๋ก ๋ค์ด๋ก๋ํ๊ฒ ํ๋ ๋ฐฉ์์ ๋๋ค.
- ํธ๋ฃจํ์ ๊ธ๊ผด(*.ttf) ์ ์น ํฐํธ๋ก ์ฌ์ฉํ๊ธฐ ์ํด eot ํ์ผ๊ณผ woff ํ์ผ๋ก ๋ณํํด์ผ ํฉ๋๋ค.
/* ๊ธฐ๋ณธํ */ @font-face { font-family: ๊ธ๊ผด ์ด๋ฆ; src: url(๊ธ๊ผด ํ์ผ ๊ฒฝ๋ก) format(ํ์ผ ์ ํ); }
(2) ์์ - ์น ํฐํธ ์ฌ์ฉํ๊ธฐ
<!DOCTYPE html> <html lang="ko"> <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; /* ์น ํฐํธ ์ง์ */ } p { font-size:30px; /* ๊ธ์ ํฌ๊ธฐ */ } </style> </head> <body> <p>Using Default Fonts</p> <p class="w-font">Using Trana Fonts</p> </body> </html>
(2) ์์ - ๊ตฌ๊ธ ์น ํฐํธ ์ฌ์ฉํ๊ธฐ
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์น ํฐํธ ์ฌ์ฉํ๊ธฐ</title> <style> @import url(http://fonts.googleapis.com/earlyaccess/nanumgothic.css); /* ๊ตฌ๊ธ ์น ํฐํธ */ .ng-font { font-family:'Nanum Gothic', ๋์; /* ์น ํฐํธ ์ง์ */ } p { font-size:30px; /* ๊ธ์ ํฌ๊ธฐ */ } </style> </head> <body> <p>๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ๊ธ๊ผด ์ฌ์ฉ</p> <p class="ng-font">๋๋๊ณ ๋ ์น ํฐํธ ์ฌ์ฉ</p> </body> </html>
(3) font-size ์์ฑ – ๊ธ์ ํฌ๊ธฐ ์กฐ์ ํ๊ธฐ
- ์์ฑ ๊ฐ : ์ ๋ ํฌ๊ธฐ, ์๋ ํฌ๊ธฐ, ์ซ์, ๋ฐฑ๋ถ์จ
- ๊ธฐ๋ณธ ๊ฐ์ ์๋ ํฌ๊ธฐ์ธ medium ์ ๋๋ค.
- font-size ์ ์์ฑ์ ์์๋ฉ๋๋ค.
- px ๋จ์๋ฅผ ์ฌ์ฉํ๋ฉด ํฐํธ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋๊ธฐ ๋๋ฌธ์, ์ฐฝ ํฌ๊ธฐ๊ฐ ์์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ก ๋ณผ ๋ ์์ ํ๋ฉด ์์ ์์ ๊ธ์จ๋ก ํ์๋ฉ๋๋ค.
- em ๋จ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถ๋ชจ ์์์ ํฐํธ์ ๋น๋กํ์ฌ ์๋์ ๊ฐ์ ๊ณ์ฐํด ๊ธ์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
/* ๊ธฐ๋ณธํ */ font-size: ์์ฑ ๊ฐ;
(3) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>ํฐํธ ํฌ๊ธฐ</title> <style> h1{ font-size:5em; /* ๊ธ์ ํฌ๊ธฐ */ } p { font-size:1em; /* ๊ธ์ ํฌ๊ธฐ */ } </style> </head> <body> <h1>5em์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ์ ๋ชฉ</h1> <p>1em์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ๋จ๋ฝ</p> </body> </html>
(4) font-weight ์์ฑ - ๊ธ์ ๊ตต๊ธฐ ์ง์ ํ๊ธฐ
- ๊ธ์์ ๊ตต๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค.
- ์ฌ์ฉํ ์ ์๋ ๊ฐ์ ํค์๋์ ์ซ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
/* ๊ธฐ๋ณธํ */ font-weight: normal | bold | lighter | 100 | 200 | ...
(5) font-variant ์์ฑ - ์์ ๋๋ฌธ์๋ก ํ์ํ๊ธฐ
- ์๋ฌธ ์๋ฌธ์๋ฅผ ์์ ๋๋ฌธ์๋ก ํ์ํฉ๋๋ค.
- ์์ ๋๋ฌธ์๋ ์๋ ๋๋ฌธ์์ ๋น์ทํ๊ฒ ๋ณด์ด์ง๋ง, ํฌ๊ธฐ๊ฐ ์๊ณ ๊ธ์์ ๊ฐ๋ก, ์ธ๋ก ๋น์จ์ด ์ฝ๊ฐ ๋ค๋ฆ ๋๋ค.
/* ๊ธฐ๋ณธํ */ font-variant: normal | small-caps
(4) ~ (5) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๊ตต๊ธฐ ์ง์ ๊ณผ ์์ ๋๋ฌธ์ ํ์ํ๊ธฐ</title> <style> .accent { font-weight:bold; /* ๊ตต๊ฒ */ font-variant:small-caps; /* ์์ ๋๋ฌธ์ */ } </style> </head> <body> <h1>do you know UFO?</h1> <p><span class="accent">UFO(Unidentified Flying Object)</span></p> <p>์ ์ฒด๊ฐ ์๋ณ๋์ง ์์ ๋นํ์ฒด๋ฅผ ์ด์นญํ๋ ์ฉ์ด</p> </body> </html>
(6) font-style ์์ฑ - ๊ธ์ ์คํ์ผ ์ง์ ํ๊ธฐ
- ๊ธ์๋ฅผ ์ดํค๋ฆญ์ฒด๋ก ํํํ ๋ ์ฌ์ฉํฉ๋๋ค.
- italic ์ด๋ oblique ๋ฅผ ์ ํํ๋ฉด ๊ธ์๊ฐ ์ดํค๋ฆญ์ฒด๋ก ํ์๋ฉ๋๋ค.
/* ๊ธฐ๋ณธํ */ font-style: normal | italic | oblique
(6) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์ดํค๋ฆญ์ฒด</title> <style> p { font-style:italic; /* ์ดํค๋ฆญ์ฒด๋ก */ } p#n { font-style:normal; /* p ์์ ์ค id=n์ธ ๋ถ๋ถ์ ๋ณดํต์ฒด๋ก */ } </style> </head> <body> <h3>์ดํค๋ฆญ์ฒด๋ ์ ๋ง ์ดํ๋ฆฌ์์ ๊ด๋ จ์ด ์์๊น?</h3> <p id="n">๋ค ๋ง์ต๋๋ค.</p> <p>๋ฅด๋ค์์ค ์๊ธฐ ์ดํ๋ฆฌ์ ์ ์ญ์์ ์ฌ์ฉ๋ ํญ์ด ์ข๊ณ ๊ธฐ์ธ์ด์ง ์์ฒด๋ฅผ ์ผ์ปซ๋ ๊ฒ์ด ์ดํค๋ฆญ์ฒด ์ ๋๋ค.</p> </body> </html>
(7) font ์์ฑ – ๊ธ๊ผด ์์ฑ์ ํ๊บผ๋ฒ์ ๋ฌถ์ด์ ํํํ๊ธฐ
- font-size ์ line-height ๋ ๋์( / )๋ก ์ฐ๊ฒฐํด ํจ๊ป ํํํฉ๋๋ค.
- font ์์ฑ์ ํ์ํ์ง ์๋ ๊ฐ๋ค์ ๊ธฐ๋ณธ ๊ฐ๋ค๋ก ์ฌ์ฉํฉ๋๋ค.
/* ์ */ p { font: 12px/14px ๊ตด๋ฆผ /* <p> ํ๊ทธ ํ ์คํธ ํฌ๊ธฐ 12pt, ์ค๊ฐ๊ฒฉ 14pt, ๊ธ๊ผด ๊ตด๋ฆผ */ } p { font: medium/110% "๊ตด๋ฆผ ๋์" bold /* <p> ํ๊ทธ ํ ์คํธ ํฌ๊ธฐ medium, ์ค ๊ฐ๊ฒฉ 110%, ๊ธ๊ผด ๊ตด๋ฆผ ๋์ ์งํ๊ฒ ํ์ */ }
(7) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๊ธ๊ผด ์คํ์ผ</title> <style> p.txt { font: italic 12px/24px ๋์; /* ๊ธ๊ผด ์คํ์ผ, ํฌ๊ธฐ, ์ค๊ฐ๊ฒฉ, ๊ธ๊ผด */ } </style> </head> <body> <p class="txt">์ฌ๋ฌ ์์๊ฐ ํจ๊ป ์ฌ์ฉ๋ ์น ๋ฌธ์ ์์์ ํ ์คํธ๊ฐ ๋์ ๋๊ฒ ํ๋ ค๋ฉด ๋ด์ฉ์ ๋ง๋ ๊ธ๊ผด๊ณผ ๊ธ์ ํฌ๊ธฐ, ๊ทธ๋ฆฌ๊ณ ๊ธ์์์ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. </p> <p>์ด๋ด ๋ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด ๊ธ๊ผด ์์ฑ์ ๋๋ค. </p> <p style="font: caption"> [font:caption] ์บก์ ์ ์ด์ธ๋ฆฌ๋ ๊ธ๊ผด ์คํ์ผ</p> <p style="font: icon"> [font:icon] ์์ด์ฝ์ ์ด์ธ๋ฆฌ๋ ๊ธ๊ผด ์คํ์ผ</p> <p style="font: menu"> [font:menu] ๋๋กญ๋ค์ด ๋ฉ๋ด์ ์ด์ธ๋ฆฌ๋ ๊ธ๊ผด ์คํ์ผ</p> <p style="font: message-box"> [font:message-box] ๋ํ ์์์ ์ด์ธ๋ฆฌ๋ ๊ธ๊ผด ์คํ์ผ</p> <p style="font: small-caption"> [font:small-caption] ์์ ์บก์ ์ ์ด์ธ๋ฆฌ๋ ๊ธ๊ผด ์คํ์ผ</p> <p style="font: status-bar"> [font:status-bar] ์ํํ์์ค์ ์ด์ธ๋ฆฌ๋ ๊ธ๊ผด ์คํ์ผ</p> </body> </html>
2. ํ ์คํธ ์คํ์ผ
(1) color ์์ฑ - ๊ธ์ ์ ์ง์ ํ๊ธฐ
/* ๊ธฐ๋ณธํ */ color : <์์>
(1) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์คํ ๋ผ์ฅ - colors</title> <style> h2 { color: rgb(255, 0, 0); /* rgb ๊ฐ ์ฌ์ฉ */ } h3 { color: yellow; /* ์์ ์ด๋ฆ ์ฌ์ฉ */ } h4 { color: #0066FF; /* 16์ง์ ์ฌ์ฉ */ } img { width: 15em; } </style> </head> <body> <h1>Colors</h1> <img src="images/portrait.webp"> <h2>I could be red</h2> <h3>Or I could be yellow</h3> <h4>I could be blue</h4> </body> </html>
(2) text-decoration ์์ฑ - ํ ์คํธ์ ์ค ํ์ํ๊ธฐ/์์ ๊ธฐ
- ํ ์คํธ์ ๋ฐ์ค์ ๊ธ๊ฑฐ๋ ๊ฐ๋ก์ง๋ฅด๋ ์ค ๋ฑ์ ํ์ํฉ๋๋ค.
/* ๊ธฐ๋ณธํ */ text-decoration : none | underline | overline | line-through
(2) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>์ค ํ์</title> <style> a#n { text-decoration: none; /* ๋ฐ์ค ์์ ๊ธฐ */ } .edited { text-decoration: line-through; /* ์ทจ์์ */ } </style> </head> <body> <h2>ํ ์คํธ ์ค ์ฐ์ต</h2> <p>[<a id="n" href="https://www.naver.com/" target="_blank">๋ค์ด๋ฒ ๋ฐ๋ก๊ฐ๊ธฐ (์ค ์ญ์ )</a>]</p> <p>[<a href="https://www.naver.com/" target="_blank">๋ค์ด๋ฒ ๋ฐ๋ก๊ฐ๊ธฐ</a>]</p> <p>๋ ์ค๋๋ถํฐ ๋ค์ด์ดํธ ํ๋ค<span class="edited">์ด๊ฒ๊น์ง๋ง ๋จน๊ณ ...</span></p> </body> </html>
(3) text-transform ์์ฑ – ํ ์คํธ ๋•์๋ฌธ์ ๋ณํํ๊ธฐ
- ํ ์คํธ๋ค์ ๋๋ฌธ์ ํน์ ์๋ฌธ์๋ก ๋ณํํฉ๋๋ค.
- ํ๊ธ์๋ ์ํฅ์ ์ฃผ์ง ์๊ณ ์๋ฌธ์์๋ง ์ ์ฉ๋ฉ๋๋ค.
- capitalize : ๊ฐ ๋จ์ด์ ์ฒซ ๋ฒ์งธ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํฉ๋๋ค.
- uppercase : ๋จ์ด์ ๋ชจ๋ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํฉ๋๋ค.
- lowercase : ๋จ์ด์ ๋ชจ๋ ๊ธ์๋ฅผ ์๋ฌธ์๋ก ๋ณํํฉ๋๋ค.
- none : ๋ณํํ์ง ์์ต๋๋ค.
/* ๊ธฐ๋ณธํ */ text-transform: none | capitalize | uppercase | lowercase | full-width
(4) text-shadow ์์ฑ - ํ ์คํธ์ ๊ทธ๋ฆผ์ ํจ๊ณผ ์ถ๊ฐํ๊ธฐ
- ํ ์คํธ์ ๊ทธ๋ฆผ์ ํจ๊ณผ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ํ ์คํธ๋ฅผ ์ ์ฒด์ ์ผ๋ก ๋ณด์ด๊ฒ ํ๋ฉฐ, ์์ฑ ๊ฐ์ ์กฐ์ ํ๋ฉฐ ๊ธ์๊ฐ ๋์ฑ ์ ๋ช ํ๊ฒ ๋ณด์ด๋๋ก ํ ์ ์์ต๋๋ค.
- ๊ทธ๋ํฝ์ผ๋ก ์ฒ๋ฆฌํ ๋ฏํ ํ ์คํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
- ์ฌ์ดํธ ์ ๋ชฉ์ด๋, ๊ฐ์กฐ ๊ธ์์ ์ฌ์ฉํฉ๋๋ค.
/* ๊ธฐ๋ณธํ */ text-shadow: offset-x offset-y blur-radius color | none | initial | inherit
/* ์ */ .shadow3 { color: #fff; /* ๊ธ์์ */ text-shadow: 7px -7px 5px #000; /* ํ ์คํธ ๊ทธ๋ฆผ์ */ }
(4) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๊ทธ๋ฆผ์</title> <style> h1 { font-size:70px; /* ๊ธ์ ํฌ๊ธฐ */ } .shadow1{ color: crimson; /* ๊ธ์์ */ text-shadow: 3px 0 10px; /* ํ ์คํธ ๊ทธ๋ฆผ์ */ } .shadow2 { text-shadow: 5px 5px 3px gray; /* ํ ์คํธ ๊ทธ๋ฆผ์ */ } .shadow3 { color:#fff; /* ๊ธ์์ */ text-shadow:7px -7px 5px #000; /* ํ ์คํธ ๊ทธ๋ฆผ์ */ } </style> </head> <body> <h1 class="shadow1">HTML5</h1> <h1 class="shadow2">HTML5</h1> <h1 class="shadow3">HTML5</h1> </body> </html>
(5) white-space ์์ฑ
- ํ ์คํธ์ ํจ๊ป ์ ๋ ฅ๋ ๊ณต๋ฐฑ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ธ์ง ์ง์ ํฉ๋๋ค.
- ์ฌ์ฉํ ์ ์๋ ๊ฐ
- normal : ์ฐ์ํ๋ ๊ณต๋ฐฑ์ ํ๋๋ก ์ฒ๋ฆฌํฉ๋๋ค. (๊ธฐ๋ณธ ๊ฐ)
- nowrap : ์ฐ์ํ๋ ๊ณต๋ฐฑ์ ํ๋๋ก ์ฒ๋ฆฌํ๊ณ ์ค๋ฐ๊ฟ์ ํ์ง ์์ต๋๋ค.
- pre : ์ฐ์ํ๋ ๊ณต๋ฐฑ์ ์๋ณธ ๊ทธ๋๋ก ํ์ํ๊ณ ์ค๋ฐ๊ฟ์ ํ์ง ์์ต๋๋ค.
- pre-line : ์ฐ์ํ๋ ๊ณต๋ฐฑ์ ํ๋๋ก ์ทจ๊ธํ๊ณ ์ค๋ฐ๊ฟ์ ํฉ๋๋ค.
- pre-wrap : ์ฐ์ํ๋ ๊ณต๋ฐฑ์ ์๋ณธ ๊ทธ๋๋ก ํ์ํ๊ณ ์ค๋ฐ๊ฟ์ ํฉ๋๋ค.
/* ์ */ body { white-spce : nowrap; /* ๊ณต๋ฐฑ์ด ๊ธธ๋๋ผ๋ ์ค๋ฐ๊ฟ ์์ด ํ ์นธ๋ง ์ธ์ํฉ๋๋ค */ }
(6) letter-spacing๊ณผ word-spacing ์์ฑ – ํ ์คํธ ๊ฐ๊ฒฉ ์กฐ์ ํ๊ธฐ
- ๊ธ์์ ๊ธ์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์กฐ์ ํฉ๋๋ค.
- ๊ฐ์กฐํ๊ณ ์ถ์ ๊ธ์๋ <hn> ํ๊ทธ๋ฅผ ์ด์ฉํด ํฌ๊ฒ ํ์ํ ๊ธ์๋ค์ ๊ธ์ ๊ฐ๊ฒฉ์ ์กฐ์ ํด์ ์ฌ์ ์๊ฒ ํ์ํ ๋ ์ฌ์ฉํฉ๋๋ค.
/* ์ */ .accent { letter-spacing: 3px; /* ๊ธ์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ 3px ๋ก ์ง์ */ }
(6) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>๋ ํฐ ์๋ ์คํ์ด์ฑ</title> <style> h1 { font-size: 40px; /* ๊ธ์ ํฌ๊ธฐ */ } .letter1 { letter-spacing: 0.2em; /* ์๊ฐ */ } .letter2 { letter-spacing: 0.5em; /* ์๊ฐ */ } </style> </head> <body> <h1>HTML5</h1> <h1 class="letter1">HTML5</h1> <h1 class="letter2">HTML5</h1> </body> </html>
๋ง๋ฌด๋ฆฌํ๋ฉฐ
ํ ์คํธ์ ๊ด๋ จ๋ ์คํ์ผ์ ์์ ์ ํจ๊ป ๊ณต๋ถํด ๋ณด์์ต๋๋ค.
๋ค์ํธ์๋ ์คํ์ผ์ ๊ณ์๋ฉ๋๋ค.
๋๊ธ๊ณผ ๊ณต๊ฐ์ ํญ์ ํ์์ ๋๋ค!
'๐ FrontEnd > HTML & CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS] ์์/๋ฐฐ๊ฒฝ ๊ด๋ จ ์คํ์ผ๊ณผ ์์ (0) 2022.05.20 [CSS] ํ ์คํธ ๊ด๋ จ ์คํ์ผ๊ณผ ์์ - 2 (0) 2022.05.20 [CSS] CSS ๊ธฐ์ด (0) 2022.05.17 [HTML & CSS] ์ฃผ์ ๋ค๋ ๋ฒ (0) 2022.05.16 [HTML] ํผ ๊ด๋ จ ํ๊ทธ์ ์์ - 2 (0) 2022.05.16