CSS μ΅μ»€ μ΄λ¦ νμΈμ λν μ’ ν© κ°μ΄λλ‘, κ·Έ λ©μ»€λμ¦, λμ μ°Έμ‘°, κ·Έλ¦¬κ³ ν₯μλ μ¬μ©μ κ²½νκ³Ό μ κ·Όμ±μ μν μ€μ μ μ© μ¬λ‘λ₯Ό νꡬν©λλ€.
CSS μ΅μ»€ μ΄λ¦ νμΈ: λμ μ΅μ»€ μ°Έμ‘° μμ€ν λ§μ€ν°νκΈ°
μΉ κ°λ°μ μΈκ³μμ, λ§€λλ½κ³ μ§κ΄μ μΈ νμμ λ§λλ κ²μ λ§€μ° μ€μν©λλ€. μ’ μ’ κ°κ³Όλλ CSS μ΅μ»€ μ΄λ¦ νμΈμ νΉν λμ μ΅μ»€ μ°Έμ‘° μμ€ν μ ꡬνν λ μ΄λ₯Ό λ¬μ±νλ λ° μ€μν μν μ ν©λλ€. μ΄ μ’ ν© κ°μ΄λμμλ CSS μ΅μ»€ μ΄λ¦ νμΈμ 볡μ‘μ±μ κΉμ΄ νκ³ λ€μ΄ κ·Έ λμ κΈ°λ₯λ€μ νμνκ³ , μ¬λ¬λΆμ μΉ κ°λ° κΈ°μ μ ν λ¨κ³ λμ¬μ€ μ€μ©μ μΈ μμ λ€μ μ 곡ν κ²μ λλ€.
CSS μ΅μ»€ μ΄λ¦ νμΈ μ΄ν΄νκΈ°
CSS μ΅μ»€ μ΄λ¦ νμΈμ μΉ λΈλΌμ°μ κ° URLμ νλκ·Έλ¨ΌνΈ μλ³μ(μ΅μ»€ λλ λ€μλ μ΅μ»€λΌκ³ λ ν¨)λ₯Ό μ¬μ©νμ¬ μΉ νμ΄μ§ λ΄μ νΉμ μΉμ μ μ°Ύμ μ΄λνλ λ©μ»€λμ¦μ λλ€. νλκ·Έλ¨ΌνΈ μλ³μλ URLμμ '#' κΈ°νΈ λ€μ μ€λ λΆλΆμ λλ€. μ¬μ©μκ° νλκ·Έλ¨ΌνΈ μλ³μκ° μλ λ§ν¬λ₯Ό ν΄λ¦νλ©΄ λΈλΌμ°μ λ μΌμΉνλ 'id' μμ±μ κ°μ§ μμλ‘ νμ΄μ§λ₯Ό μ€ν¬λ‘€ν©λλ€.
μλ₯Ό λ€μ΄, λ€μ HTML μ€λν«μ μ΄ν΄λ³΄κ² μ΅λλ€:
<h1>λͺ©μ°¨</h1>
<ul>
<li><a href="#introduction">μκ°</a></li>
<li><a href="#usage">μ¬μ©λ²</a></li>
<li><a href="#examples">μμ </a></li>
</ul>
<h2 id="introduction">μκ°</h2>
<p>μ΄ μΉμ
μ μκ° λΆλΆμ
λλ€.</p>
<h2 id="usage">μ¬μ©λ²</h2>
<p>μ΄ μΉμ
μ μ΅μ»€ μ΄λ¦ νμΈ μ¬μ©λ²μ μ€λͺ
ν©λλ€.</p>
<h2 id="examples">μμ </h2>
<p>μ¬κΈ° λͺ κ°μ§ μ€μ©μ μΈ μμ κ° μμ΅λλ€.</p>
μ΄ μμ μμ "μκ°" λ§ν¬λ₯Ό ν΄λ¦νλ©΄ λΈλΌμ°μ λ idκ° "introduction"μΈ μμλ‘ μ΄λν©λλ€. μ΄ κΈ°λ³Έμ μΈ κ°λ μ νμ΄μ§ λ΄ νμμ κΈ°μ΄κ° λλ©° μΉ νμ΄μ§ λ΄μ νΉμ μ½ν μΈ μ λν λ₯ λ§ν¬λ₯Ό μμ±νλ λ°©λ²μ μ 곡ν©λλ€.
`id` μμ±μ μν
id μμ±μ CSS μ΅μ»€ μ΄λ¦ νμΈμ λ§€μ° μ€μν©λλ€. μ΄λ HTML λ¬Έμ λ΄μ κ° μμμ λν κ³ μ μλ³μλ₯Ό μ 곡ν©λλ€. λΈλΌμ°μ λ URLμ νλκ·Έλ¨ΌνΈ μλ³μκ° μμ λ μ΄ κ³ μ μλ³μλ₯Ό μ¬μ©νμ¬ λμ μμλ₯Ό μ°Ύμ΅λλ€. μκΈ°μΉ μμ λμμ νΌνκΈ° μν΄ νμ΄μ§ λ΄μμ id κ°μ΄ κ³ μ νλλ‘ νλ κ²μ΄ μ€μν©λλ€. κΈ°μ μ μΌλ‘ κ³Όκ±°μλ μ΅μ»€μ name μμ±μ μ¬μ©νμ§λ§, μ§κΈμ id μμ±μ΄ νμ€μ΄λ©° μ νΈλλ λ°©λ²μ
λλ€. μλ‘μ΄ νλ‘μ νΈμμλ name μμ± μ¬μ©μ νΌνμμμ€.
λμ μ΅μ»€ μ°Έμ‘° μμ€ν
μ μ id μμ±μ κ°μ§ κ°λ¨ν μ΅μ»€ λ§ν¬λ μ μ©νμ§λ§, λμ μ΅μ»€ μ°Έμ‘° μμ€ν
μ μ΄ κ°λ
μ ν λ¨κ³ λ λ°μ μν΅λλ€. λμ μ΅μ»€λ μ’
μ’
JavaScriptλ μλ² μΈ‘ μ€ν¬λ¦½ν
μ μ¬μ©νμ¬ μ΅μ»€ λ§ν¬μ λμ μμλ₯Ό λμ μΌλ‘ μμ±νλ κ²μ ν¬ν¨ν©λλ€. μ΄λ νΉν λ€μκ³Ό κ°μ κ²½μ°μ μ μ©ν©λλ€:
- μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ (SPAs)
- μ½ν μΈ κ΄λ¦¬ μμ€ν (CMSs)
- λμ μΌλ‘ μμ±λ λ¬Έμ
- λνν νν 리μΌ
λ¬Έμμ κ° μ λͺ©μ΄ λͺ©μ°¨μ μλμΌλ‘ μ΅μ»€ λ§ν¬λ₯Ό μμ±ν΄μΌ νλ λ¬Έμ μΉμ¬μ΄νΈλ₯Ό μκ°ν΄ 보μμμ€. μ΄λ JavaScriptλ₯Ό μ¬μ©νμ¬ λ€μμ μνν¨μΌλ‘μ¨ λ¬μ±ν μ μμ΅λλ€:
- νΉμ 컨ν μ΄λ λ΄μ λͺ¨λ μ λͺ© μμ(μ: <h2>, <h3>)λ₯Ό μ°Ύμ΅λλ€.
- κ° μ λͺ© μμμ λν΄ κ³ μ ν
idλ₯Ό μμ±ν©λλ€. - λͺ©μ°¨μ μμ±λ
idλ₯Ό κ°λ¦¬ν€λ μ΅μ»€ λ§ν¬λ₯Ό λ§λλλ€.
JavaScriptλ‘ λμ μ΅μ»€ ꡬννκΈ°
λ€μμ idκ° "content"μΈ μ»¨ν μ΄λ λ΄μ λͺ¨λ <h2> μμμ λν΄ λμ μΌλ‘ μ΅μ»€λ₯Ό λ§λλ λ°©λ²μ 보μ¬μ£Όλ JavaScript μμ μ λλ€:
function createDynamicAnchors() {
const content = document.getElementById('content');
if (!content) return;
const headings = content.querySelectorAll('h2');
const toc = document.createElement('ul');
headings.forEach((heading, index) => {
const id = 'heading-' + index;
heading.setAttribute('id', id);
const listItem = document.createElement('li');
const anchor = document.createElement('a');
anchor.href = '#' + id;
anchor.textContent = heading.textContent;
listItem.appendChild(anchor);
toc.appendChild(listItem);
});
const tocContainer = document.getElementById('toc');
if (tocContainer) {
tocContainer.appendChild(toc);
}
}
document.addEventListener('DOMContentLoaded', createDynamicAnchors);
μ΄ μ½λ μ€λν«μ λ¨Όμ "content" div λ΄μ λͺ¨λ <h2> μμλ₯Ό μ°Ύμ΅λλ€. κ·Έλ° λ€μ μ΄ μ λͺ©λ€μ λ°λ³΅νλ©΄μ κ°κ°μ λν΄ κ³ μ ν id(μ: "heading-0", "heading-1" λ±)λ₯Ό μμ±ν©λλ€. λ§μ§λ§μΌλ‘, κ° μ λͺ©μ κ°λ¦¬ν€λ μ΅μ»€ λ§ν¬κ° μλ μ λ ¬λμ§ μμ λͺ©λ‘(<ul>)μ λ§λ€μ΄ idκ° "toc"μΈ μ»¨ν
μ΄λμ μΆκ°ν©λλ€.
μ€μ κ³ λ €μ¬ν:
- κ³ μ μ±: μΆ©λμ νΌνκΈ° μν΄ μμ±λ
idκ°μ΄ μ λ§λ‘ κ³ μ νμ§ νμΈνμμμ€. μ€λ³΅λ μ½ν μΈ μ κ°λ₯μ±μ΄ μλ κ²½μ° λ κ°λ ₯ν ID μμ± μ²΄κ³λ₯Ό μ¬μ©νλ κ²μ κ³ λ €νμμμ€. - μ΄λ²€νΈ 리μ€λ:
DOMContentLoadedμ΄λ²€νΈλ DOMμ΄ μμ ν λ‘λλ ν μ€ν¬λ¦½νΈκ° μ€νλλλ‘ λ³΄μ₯ν©λλ€. - μ€λ₯ μ²λ¦¬: μ½λλ "content"μ "toc" μμκ° μ‘΄μ¬νλμ§ νμΈν ν μμ μ μλνλ κ²μ¬λ₯Ό ν¬ν¨ν©λλ€.
μ΅μ»€ λ§ν¬μ λν CSS μ€νμΌλ§
CSSλ₯Ό μ¬μ©νμ¬ μ΅μ»€ λ§ν¬μ λμ μμλ₯Ό μ€νμΌλ§νμ¬ μ¬μ©μμκ² μκ°μ νΌλλ°±μ μ 곡ν μ μμ΅λλ€. :target μμ¬ ν΄λμ€λ νμ¬ νλκ·Έλ¨ΌνΈ μλ³μμ μν΄ νκ²ν
λ μμλ₯Ό μ€νμΌλ§νλ λ° νΉν μ μ©ν©λλ€. μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°μ΅λλ€:
:target {
background-color: #ffffcc;
padding: 0.2em;
}
μ΄ CSS κ·μΉμ νμ¬ μ΅μ»€ λ§ν¬μ λμμ΄ λλ μμμ μ°ν λ Έλμ λ°°κ²½κ³Ό ν¨λ©μ μ μ©νμ¬ μ¬μ©μμκ² μκ°μ μ νΈλ₯Ό μ 곡ν©λλ€.
μ κ·Όμ± κ³ λ €μ¬ν
μ΅μ»€ μ΄λ¦ νμΈμ ꡬνν λλ μ κ·Όμ±μ κ³ λ €νλ κ²μ΄ μ€μν©λλ€. λ€μμ νμΈνμμμ€:
- μ΅μ»€ λ§ν¬μλ λμ μ½ν μΈ λ₯Ό μ ννκ² μ€λͺ νλ μλ―Έ μλ ν μ€νΈ λ μ΄λΈμ΄ μμ΄μΌ ν©λλ€.
- λμ μμλ μκ°μ μΌλ‘λ 보쑰 κΈ°μ μ ν΅ν΄ λͺ ννκ² μλ³ν μ μμ΄μΌ ν©λλ€.
- ν€λ³΄λ νμμ΄ μ§μλμ΄μΌ ν©λλ€. μ¬μ©μλ ν€λ³΄λλ₯Ό μ¬μ©νμ¬ μ΅μ»€ λ§ν¬μ λμ μμ μ¬μ΄λ₯Ό μ΄λν μ μμ΄μΌ ν©λλ€.
- μ€ν¬λ‘€ λμμ λΆλλ½κ³ μμΈ‘ κ°λ₯ν΄μΌ ν©λλ€. κ°μμ€λ¬μ΄ μ΄λμ μΌλΆ μ¬μ©μμκ² νΌλμ μ€ μ μμ΅λλ€. λΆλλ¬μ΄ μ€ν¬λ‘€μ νμ±ννλ €λ©΄ CSS
scroll-behavior: smooth;μ¬μ©μ κ³ λ €νμμμ€.
μλ₯Ό λ€μ΄, μ΅μ»€ λ§ν¬μ "μ¬κΈ°λ₯Ό ν΄λ¦νμΈμ"μ κ°μ λͺ¨νΈν ν μ€νΈλ₯Ό μ¬μ©νμ§ λ§μμμ€. λμ "μκ° μΉμ μΌλ‘ μ΄λ"κ³Ό κ°μ΄ μ€λͺ μ μΈ ν μ€νΈλ₯Ό μ¬μ©νμμμ€. λν, μ΅μ»€ λ§ν¬μ λμ μμκ° μ λλ‘ μλ΄λλμ§ νμΈνκΈ° μν΄ μ€ν¬λ¦° 리λλ‘ κ΅¬νμ ν μ€νΈν΄μΌ ν©λλ€.
μ΅μ»€ μ΄λ¦ νμΈ λ¬Έμ ν΄κ²°
λͺ κ°μ§ λ¬Έμ λ‘ μΈν΄ μ΅μ»€ μ΄λ¦ νμΈμ΄ μ¬λ°λ₯΄κ² μλνμ§ μμ μ μμ΅λλ€. λ€μμ λͺ κ°μ§ μΌλ°μ μΈ λ¬Έμ μ κ·Έ ν΄κ²°μ± μ λλ€:
- μλͺ»λ
idκ°: λμ μμμidμμ±μ΄ URLμ νλκ·Έλ¨ΌνΈ μλ³μ('#' μ μΈ)μ μ νν μΌμΉνλμ§ νμΈνμμμ€. - μ€λ³΅λ
idκ°:idκ°μ νμ΄μ§ λ΄μμ κ³ μ ν΄μΌ ν©λλ€. μ¬λ¬ μμκ° λμΌνidλ₯Ό κ°μ§λ©΄ λΈλΌμ°μ λ 첫 λ²μ§Έ μμλ‘λ§ μ΄λν©λλ€. - μλͺ»λ URL: URLμ΄ μ¬λ°λ₯΄κ² ꡬμ±λμλμ§, '#' κΈ°νΈμ κ·Έ λ€μ νλκ·Έλ¨ΌνΈ μλ³μκ° ν¬ν¨λμ΄ μλμ§ νμΈνμμμ€.
- JavaScript μ€λ₯: JavaScript μ€λ₯λ μ΅μ»€ μ΄λ¦ νμΈμ λ°©ν΄ν μ μμ΅λλ€. λΈλΌμ°μ μ½μμμ μ€λ₯λ₯Ό νμΈνμμμ€.
- CSS μΆ©λ: μΆ©λνλ CSS κ·μΉμΌλ‘ μΈν΄ λΈλΌμ°μ κ° λμ μμλ‘ μ¬λ°λ₯΄κ² μ€ν¬λ‘€νμ§ λͺ»ν μ μμ΅λλ€. λΈλΌμ°μ μ κ°λ°μ λꡬλ₯Ό μ¬μ©νμ¬ μμμ μ€νμΌμ κ²μ¬νμμμ€.
κ³ κΈ κΈ°μ
κΈ°λ³Έμ λμ΄μ, μ΅μ»€ μ΄λ¦ νμΈ κ΅¬νμ ν₯μμν€κΈ° μν΄ μ¬μ©ν μ μλ λͺ κ°μ§ κ³ κΈ κΈ°μ μ΄ μμ΅λλ€:
1. History API μ¬μ©νκΈ°
History APIλ₯Ό μ¬μ©νλ©΄ νμ΄μ§λ₯Ό λ€μ λ‘λνμ§ μκ³ λ λΈλΌμ°μ μ λ°©λ¬Έ κΈ°λ‘μ μ‘°μν μ μμ΅λλ€. μ΄λ₯Ό μ¬μ©νμ¬ URL νλκ·Έλ¨ΌνΈ μλ³μλ₯Ό λμ μΌλ‘ μ λ°μ΄νΈνμ¬ μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ μμ λ λμ μ¬μ©μ κ²½νμ μ 곡ν μ μμ΅λλ€. μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°μ΅λλ€:
window.history.pushState({}, '', '#new-anchor');
μ΄ μ½λ μ€λν«μ νμ΄μ§λ₯Ό μλ‘κ³ μΉ¨νμ§ μκ³ URLμ "#new-anchor" νλκ·Έλ¨ΌνΈ μλ³μλ₯Ό ν¬ν¨νλλ‘ μ λ°μ΄νΈν©λλ€. μ΄λ μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ λ΄μμ μ¬μ©μμ νμμ μΆμ νλ λ° μ μ©ν μ μμ΅λλ€.
2. λΆλλ¬μ΄ μ€ν¬λ‘€ ꡬννκΈ°
μμ μΈκΈνλ―μ΄, λΆλλ¬μ΄ μ€ν¬λ‘€μ μ¬μ©μ κ²½νμ ν¬κ² ν₯μμν¬ μ μμ΅λλ€. CSS scroll-behavior μμ±μ μ¬μ©νμ¬ λΆλλ¬μ΄ μ€ν¬λ‘€μ νμ±νν μ μμ΅λλ€:
html {
scroll-behavior: smooth;
}
λλ JavaScriptλ₯Ό μ¬μ©νμ¬ λ μ κ΅ν λΆλλ¬μ΄ μ€ν¬λ‘€ ν¨κ³Όλ₯Ό ꡬνν μλ μμ΅λλ€.
3. μ€νμ μ΅μ»€
λλλ‘ λμ μμκ° κ³ μ λ ν€λλ λ΄λΉκ²μ΄μ λ°μ μν΄ λΆλΆμ μΌλ‘ κ°λ €μ§ μ μμ΅λλ€. μ΄ κ²½μ° CSSλ JavaScriptλ₯Ό μ¬μ©νμ¬ μ΅μ»€ μμΉλ₯Ό μ€νμ νμ¬ λμ μμκ° μμ ν 보μ΄λλ‘ ν μ μμ΅λλ€.
CSS μ κ·Όλ²: λμ μμμ `scroll-margin-top` μ¬μ©
:target {
scroll-margin-top: 50px; /* νμμ λ°λΌ κ° μ‘°μ */
}
JavaScript μ κ·Όλ²: μ€νμ μ κ³μ°ν ν μλμΌλ‘ μ°½ μ€ν¬λ‘€
function scrollToAnchor(anchorId) {
const element = document.getElementById(anchorId);
if (element) {
const offset = 50; // νμμ λ°λΌ μ‘°μ
const elementPosition = element.offsetTop - offset;
window.scrollTo({
top: elementPosition,
behavior: 'smooth'
});
}
}
μ€μ μ¬λ‘ λ° μ¬μ© μ
CSS μ΅μ»€ μ΄λ¦ νμΈμ λ€μν μΉ μ ν리μΌμ΄μ κ³Ό μΉμ¬μ΄νΈμμ κ΄λ²μνκ² μ¬μ©λ©λλ€. λ€μμ λͺ κ°μ§ μΌλ°μ μΈ μμ λλ€:
- λ¬Έμ μΉμ¬μ΄νΈ: μμ μΈκΈνλ―μ΄, λ¬Έμ μΉμ¬μ΄νΈλ μ’ μ’ μ΅μ»€ λ§ν¬λ₯Ό μ¬μ©νμ¬ λͺ©μ°¨λ₯Ό λ§λ€κ³ λ¬Έμμ νΉμ μΉμ μ λν λ₯ λ§ν¬λ₯Ό μ 곡ν©λλ€.
- μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ : SPAλ μ΅μ»€ λ§ν¬λ₯Ό μ¬μ©νμ¬ νμ΄μ§λ₯Ό λ€μ λ‘λνμ§ μκ³ νμμ κ΄λ¦¬νκ³ μνλ₯Ό μ μ§ν©λλ€.
- μ μμκ±°λ μΉμ¬μ΄νΈ: μ μμκ±°λ μΉμ¬μ΄νΈλ μ΅μ»€ λ§ν¬λ₯Ό μ¬μ©νμ¬ νΉμ μ ν 리뷰λ μ ν μ€λͺ μ μΉμ μΌλ‘ μ°κ²°ν μ μμ΅λλ€.
- μνμ΄μ§ μΉμ¬μ΄νΈ: μνμ΄μ§ μΉμ¬μ΄νΈλ μ’ μ’ νμ΄μ§μ λ€λ₯Έ μΉμ κ°μ μ΄λνκΈ° μν΄ μ΅μ»€ λ§ν¬μ ν¬κ² μμ‘΄ν©λλ€.
- μ κ·Όμ± ν₯μ: μ΅μ»€ λ§ν¬λ μ¬μ©μκ° νΉμ μ½ν μΈ λ‘ λΉ λ₯΄κ² μ΄λν μ μλ λ°©λ²μ μ 곡νμ¬ μΉ νμ΄μ§μ μ κ·Όμ±μ ν₯μμν€λ λ° μ¬μ©λ μ μμ΅λλ€.
μμ: μν€νΌλμ
μν€νΌλμλ μ΅μ»€ λ§ν¬λ₯Ό κ΄λ²μνκ² μ¬μ©ν©λλ€. κ° λ¬Έμ μλ¨μ λͺ©μ°¨λ λμ μΌλ‘ μμ±λλ©° μ΅μ»€ λ§ν¬λ₯Ό μ¬μ©νμ¬ λ¬Έμμ λ€λ₯Έ μΉμ μΌλ‘ μ΄λν©λλ€. μ΄λ μ¬μ©μκ° μνλ μ 보λ₯Ό λΉ λ₯΄κ² μ°Ύμ μ μλ νΈλ¦¬ν λ°©λ²μ μ 곡ν©λλ€.
μ΅μ»€ μ΄λ¦ νμΈ μ¬μ©μ μν λͺ¨λ² μ¬λ‘
μ΅μ»€ μ΄λ¦ νμΈ κ΅¬νμ΄ ν¨κ³Όμ μ΄κ³ μ μ§ κ΄λ¦¬ κ°λ₯νλλ‘ νλ €λ©΄ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄μμμ€:
- μλ―Έ μλ
idκ° μ¬μ©: μλ³νλ μ½ν μΈ μ κ΄λ ¨μ΄ μκ³ μ€λͺ μ μΈidκ°μ μ ννμμμ€. idκ³ μ μ± λ³΄μ₯: νμ νμ΄μ§ λ΄μμidκ°μ΄ κ³ μ νμ§ νμΈνμμμ€.- μ€λͺ μ μΈ μ΅μ»€ ν μ€νΈ μ¬μ©: λμ μ½ν μΈ λ₯Ό μ ννκ² μ€λͺ νλ λͺ ννκ³ κ°κ²°ν μ΅μ»€ ν μ€νΈλ₯Ό μ¬μ©νμμμ€.
- μ κ·Όμ± κ³ λ €: λͺ¨λ μ¬λμ΄ μ΅μ»€ λ§ν¬λ₯Ό μ¬μ©ν μ μλλ‘ μ κ·Όμ± μ§μΉ¨μ λ°λ₯΄μμμ€.
- μ² μ ν ν μ€νΈ: μ¬λ¬ λΈλΌμ°μ μ κΈ°κΈ°μμ ꡬνμ ν μ€νΈνμ¬ μ¬λ°λ₯΄κ² μλνλμ§ νμΈνμμμ€.
- μΌκ΄μ± μ μ§: μΉμ¬μ΄νΈ μ 체μμ μ΅μ»€ λ§ν¬μ λν μΌκ΄λ μ€νμΌκ³Ό λμμ μ μ§νμμμ€.
λ―Έλ λν₯ λ° νμ
CSS μ΅μ»€ μ΄λ¦ νμΈμ λ―Έλλ JavaScript νλ μμν¬ λ° λΌμ΄λΈλ¬λ¦¬μμ κΈ΄λ°ν ν΅ν©, κ·Έλ¦¬κ³ λμ μ΅μ»€ λ§ν¬ μμ±μ λ¨μννλ μλ‘μ΄ CSS κΈ°λ₯μ ν¬ν¨ν μ μμ΅λλ€. λν λ μ§λ³΄λ μ€ν¬λ‘€ λμ λ° μ κ·Όμ± κΈ°λ₯μ λν μ°κ΅¬λ κ³μ μ§ν μ€μ λλ€. μΉμ΄ κ³μ λ°μ ν¨μ λ°λΌ, μ΅μ»€ μ΄λ¦ νμΈμ λ§€λλ½κ³ μ§κ΄μ μΈ νμ κ²½νμ λ§λλ λ° μ€μν λκ΅¬λ‘ λ¨μ κ²μ λλ€.
κ²°λ‘
CSS μ΅μ»€ μ΄λ¦ νμΈμ, νΉν λμ μΌλ‘ ꡬνλ λ, μΉμμ μ¬μ©μ κ²½νκ³Ό μ κ·Όμ±μ ν₯μμν€λ κ°λ ₯ν λꡬμ λλ€. κΈ°λ³Έ μμΉμ μ΄ν΄νκ³ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄λ©΄ μ¬μ©μ±κ³Ό μ°Έμ¬λλ₯Ό λμ΄λ λ§€λλ¬μ΄ νμ κ²½νμ λ§λ€ μ μμ΅λλ€. κ°λ¨ν νμ΄μ§ λ΄ νμμμ 볡μ‘ν μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ λΌμ°ν μ μ΄λ₯΄κΈ°κΉμ§, μ΅μ»€ μ΄λ¦ νμΈμ λ§μ€ν°νλ κ²μ λͺ¨λ μΉ κ°λ°μμκ² νμμ μΈ κΈ°μ μ λλ€. μ΄λ¬ν κΈ°μ μ νμ©νμ¬ μ μΈκ³ μ¬μ©μλ₯Ό μν λ μ κ·ΌνκΈ° μ½κ³ , μ¬μ©μ μΉνμ μ΄λ©°, λ§€λ ₯μ μΈ μΉ κ²½νμ ꡬμΆνμμμ€.