āđāļāļĢāđāļāļĢāļĄāļāļđ Google Fonts
āļāđāļāļŦāļēāđāļĨāļ°āļāļđāļāļąāļ§āļāļĒāđāļēāļ Google Fonts āļāđāļāļŦāļēāļāļāļāļāđāļāļĩāđāļŠāļĄāļāļđāļĢāļāđāđāļāļāļŠāļģāļŦāļĢāļąāļāđāļāļĢāđāļāļāļāđāđāļ§āđāļāļāļāļāļāļļāļāđāļĨāļ°āļāļđāļ§āđāļēāļāļāļāļāđāđāļŦāļĨāđāļēāļāļąāđāļāļĄāļĩāļĨāļąāļāļĐāļāļ°āļāļĒāđāļēāļāđāļĢāđāļāđāļ§āļĨāļēāļāļĢāļīāļ
āđāļĨāļ·āļāļāļāļāļāļāđāđāļāļ·āđāļāđāļĢāļīāđāļĄāļāļđāļāļąāļ§āļāļĒāđāļēāļ
ð āļāļđāđāļĄāļ·āļ Google Fonts āļāļāļąāļāļŠāļĄāļāļđāļĢāļāđ
āđāļĢāļĩāļĒāļāļĢāļđāđāļ§āļīāļāļĩāđāļāđ Google Fonts āļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
ðĻðĻ Google Fonts āļāļ·āļāļāļ°āđāļĢ?
Google Fonts āđāļāđāļāļāļĢāļīāļāļēāļĢāđāļ§āđāļāļāļāļāļāđāļāļĢāļĩāļāļĩāđ Google āđāļŦāđāļāļĢāļīāļāļēāļĢ
- āļāļāļāļāđāđāļāđāļāļāļāļāļĢāđāļŠāļĄāļēāļāļāļ§āđāļē 1,400 āđāļāļ
- āđāļāļāļāļļāļāļēāļāļāļĢāļĩāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāđāļāļēāļāđāļāļīāļāļāļēāļāļīāļāļĒāđ
- āļāļēāļĢāļāļĢāļ°āļāļēāļĒāļāļąāđāļ§āđāļĨāļāļāđāļēāļ CDN āļāļĩāđāļĢāļ§āļāđāļĢāđāļ§
- āļĢāļāļāļĢāļąāļāļ āļēāļĐāļēāđāļĨāļ°āļĢāļ°āļāļāļāļēāļĢāđāļāļĩāļĒāļāļāļĩāđāļŦāļĨāļēāļāļŦāļĨāļēāļĒ
- āļāļĢāļąāļāđāļŦāđāđāļŦāļĄāļēāļ°āļŠāļĄāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļāļāđāļāļāđāļ§āđāļāļāļĩāđāļāļāļāļŠāļāļāļ
âĄâĄ āļ§āļīāļāļĩāđāļāđāđāļ§āđāļāļāļāļāļāđ
1. āļāļēāļĢāđāļāđāļāļēāļāđāļ HTML
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;700&display=swap" rel="stylesheet">
2. āļāļēāļĢāļāļģāđāļāđāļāđāđāļ CSS
body {
font-family: 'Noto Sans KR', sans-serif;
}ðð āđāļāļĨāđāļāļĨāļąāļāļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
- āđāļāđ font-display: swap āđāļāļ·āđāļāļāđāļāļāļāļąāļ FOIT
- āđāļāđ preconnect āđāļāļ·āđāļāļĨāļāđāļ§āļĨāļēāļāļēāļĢāļāđāļāļŦāļē DNS
- āđāļŦāļĨāļāđāļāļāļēāļ°āļāđāļģāļŦāļāļąāļāļāļāļāļāđāļāļĩāđāļāļģāđāļāđāļāđāļāđāļēāļāļąāđāļ
- āļāļģāļāļąāļāļāļļāļāļāļąāļ§āļāļąāļāļĐāļĢāļāđāļ§āļĒāļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđ subset
- āļāļąāđāļāļāđāļēāļāļāļāļāđāļŠāļģāļĢāļāļāđāļāđāļāļĢāļ·āđāļāļ
āļāļąāļ§āļāļĒāđāļēāļāļāļēāļĢāđāļŦāļĨāļāļāļĩāđāļāļĢāļąāļāđāļŦāđāđāļŦāļĄāļēāļ°āļŠāļĄ:
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;700&display=swap&subset=korean" rel="stylesheet">
ðąðą āļāļēāļĢāļāļīāļĄāļāđāļāļĩāđāļāļāļāļŠāļāļāļ
āļāļēāļĢāļāļąāđāļāļāđāļēāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāđāļēāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļĩāđāļŠāļļāļāđāļāļāļļāļāļāļĢāļāđāļāđāļēāļāđ:
/* ë°ėí í°íļ íŽęļ° */
.responsive-text {
font-size: clamp(1rem, 2.5vw, 2rem);
line-height: 1.6;
}
/* ëë°ėīėĪëģ í°íļ ėĪí */
.font-stack {
font-family:
'Noto Sans KR',
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
sans-serif;
}- ëŠĻë°ėž: 16px ėīė ęķėĨ
- íëļëĶŋ: 18px ėīė ęķėĨ
- ë°ėĪíŽíą: 20px ėīė ęķėĨ
ðŊðŊ āļāļđāđāļĄāļ·āļāļāļēāļĢāđāļĨāļ·āļāļāļāļāļāļāđ
āļāļāļāļāđāļāļĩāđāđāļāļ°āļāļģāļāļēāļĄāļāļēāļĢāđāļāđāļāļēāļ:
- āļāđāļāļāļ§āļēāļĄāđāļāļ·āđāļāļŦāļē: Noto Sans KR, Spoqa Han Sans
- āļŦāļąāļ§āļāđāļ: Noto Serif KR, Gowun Dodum
- āđāļāđāļ: Fira Code, JetBrains Mono
- āļāļāđāļāđāļ: Jua, Gamja Flower
āđāļāļāļāđāļāļēāļĢāđāļĨāļ·āļāļ:
- āļāļ§āļēāļĄāļŠāļāļāļāļĨāđāļāļāļāļąāļāđāļāļāļĨāļąāļāļĐāļāđāļāļāļāđāļāļĢāļāļāđ
- āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāđāļēāļāđāļĨāļ°āļāļēāļĢāđāļāđāļēāļāļķāļ
- āļāđāļ§āļāļāļēāļĢāļĢāļāļāļĢāļąāļāļŦāļĨāļēāļĒāļ āļēāļĐāļē
- āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļēāļĢāđāļŦāļĨāļ
ð§ð§ āļāļēāļĢāđāļāđāļāļēāļāļāļąāđāļāļŠāļđāļ
āļāļēāļĢāđāļāđāļāļāļāļāđāļāļąāļ§āđāļāļĢ:
/* Variable Font ëĄë */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
/* ëė weight ėĄ°ė */
.dynamic-weight {
font-family: 'Inter', sans-serif;
font-weight: var(--font-weight, 400);
font-variation-settings: 'wght' var(--font-weight, 400);
}āļāļēāļĢāđāļāđāļāļļāļāļŠāļĄāļāļąāļāļī CSS āđāļāļāļāļģāļŦāļāļāđāļāļ:
:root {
--font-primary: 'Noto Sans KR', sans-serif;
--font-heading: 'Noto Serif KR', serif;
--font-mono: 'Fira Code', monospace;
}
h1, h2, h3 { font-family: var(--font-heading); }
body { font-family: var(--font-primary); }
code { font-family: var(--font-mono); }ðĄïļðĄïļ āļāđāļāļāļ§āļĢāļāļīāļāļēāļĢāļāļēāļāđāļēāļāļāļēāļĢāđāļāđāļēāļāļķāļ
- āļāļąāļāļĢāļēāļŠāđāļ§āļāļāļāļāļāļĢāļēāļŠāļāđāļāļĩāđāđāļāļĩāļĒāļāļāļ: WCAG 4.5:1 āļŦāļĢāļ·āļāļŠāļđāļāļāļ§āđāļē
- āļĢāļ°āļĒāļ°āļŦāđāļēāļāļāļĢāļĢāļāļąāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ: āđāļāļ°āļāļģ 1.4~1.6
- āļāļāļēāļāļāļāļāļāđāļāļĩāđāļāđāļēāļāđāļāđ: āļāļąāđāļāļāđāļģ 16px
- āđāļāđāļāļĄāļīāļāļĢāļāļąāļāļāļđāđāļĄāļĩāļ āļēāļ§āļ°āļāļīāļŠāđāļĨāđāļāđāļāļĩāļĒ: āļāļīāļāļēāļĢāļāļē OpenDyslexic āđāļāđāļāļāđāļ
āļāļąāļ§āļāļĒāđāļēāļ CSS āļāļĩāđāđāļāđāļēāļāļķāļāđāļāđ:
.accessible-text {
font-size: max(16px, 1rem);
line-height: 1.5;
letter-spacing: 0.02em;
word-spacing: 0.1em;
}ðð āļāļēāļĢāļāļĩāļāļąāļāđāļĨāļ°āļāļēāļĢāļāļāļŠāļāļ
āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļēāļĢāđāļŦāļĨāļāļāļāļāļāđ:
- āļāļĢāļ§āļāļŠāļāļāđāļāļĨāđāļāļāļāļāđāđāļāđāļāđāļ Network āļāļāļ DevTools
- āļāļĢāļ§āļāļŠāļāļāļāļāļāļāđāļāļĩāđāđāļāđāļāļĢāļīāļāđāļ Computed styles
- āļāļāļŠāļāļāļāļĪāļāļīāļāļĢāļĢāļĄ font-display
āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļ§āļąāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ:
- Google PageSpeed Insights
- WebPageTest
- āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļāļāļāđ Lighthouse
í°íļ fallback í ėĪíļ:
/* ëĪíļėíŽ ė°ĻëĻ ė fallback íėļ */
font-family: 'Custom Font',
'Apple SD Gothic Neo',
'Malgun Gothic',
sans-serif;ðĄðĄ āđāļāļĨāđāļāļĨāļąāļāļāļēāļĢāļāļāļīāļāļąāļāļī
āļāļēāļĢāļāļąāđāļāļāđāļēāđāļāļĢāđāļāļāļāđ:
- āļāļģāļŦāļāļāļāļāļāļāļāļāđāđāļāļĢāļ°āļāļāļāļēāļĢāļāļāļāđāļāļ
- āļāļģāļŦāļāļāļāļĨāļĒāļļāļāļāđāļāļēāļĢāđāļŦāļĨāļāļāļāļāļāđ
- āļāļģāļŦāļāļāļāđāļēāļāļāļāļāđāļŠāļģāļĢāļāļ
- āļāļąāđāļāļāđāļēāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
āļāļēāļĢāļāļģāļĢāļļāļāļĢāļąāļāļĐāļē:
- āļāļēāļĢāļāļąāļāļāļēāļĢāđāļ§āļāļĢāđāļāļąāļāļāļāļāļāđ
- āļĨāđāļēāļāļāđāļģāļŦāļāļąāļāļāļĩāđāđāļĄāđāđāļāđāđāļāđ
- āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļĒāđāļēāļāļŠāļĄāđāļģāđāļŠāļĄāļ
- āļāļĢāļ§āļāļŠāļāļāļāļēāļĢāļāļąāļāđāļāļāļāļāļāļāđāđāļŦāļĄāđ