2.Style Basics
className
JavaScriptμμμ className
μμ£Ό μ€λμ μλ°μ€ν¬λ¦½νΈμ "class"κ°μ μμ½μ΄λ κ°μ²΄μ νλ‘νΌν°κ° λ μ μλ€λ μ μ½μ¬νμ΄ μμλ€. μ§κΈμ μ΄λ° μ μ½μ¬νμ΄ μ¬λΌμ‘μ§λ§, κ³Όκ±°μ "class" νλ‘νΌν°λ₯Ό μ¬μ©ν μ μμκΈ° λλ¬Έμ elem.classλ₯Ό μ¬μ©νλ κ² μμ λΆκ°λ₯νλ€.
μ΄λ° λ°°κ²½ λλ¬Έμ ν΄λμ€λ₯Ό μν νλ‘νΌν° "className"κ° λμ λκ² λμλ€. elem.classNameλ "class" μμ±μ λμνλ€.
className β ν΄λμ€ μ 체λ₯Ό λ¬Έμμ΄ ννλ‘ λ°νν΄μ£Όλ νλ‘νΌν°λ‘ ν΄λμ€ μ 체λ₯Ό κ΄λ¦¬ν λ μ μ©νλ€.
JSXμμμ className
μΉ κ°λ°μμ classNameμ HTML λ° JSX(JavaScript XML) ꡬ문μμ μμμ νλ μ΄μμ CSS ν΄λμ€λ₯Ό ν λΉνλ λ° μΌλ°μ μΌλ‘ μ¬μ©λλ μμ±μ΄λ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μλ μμμ CSSμ μ μλ νΉμ μ€νμΌμ μ μ©νμ¬ μνλ λͺ¨μκ³Ό λμμ μ 곡ν μ μλ€.
λ€μμ className μμ±μ λν΄ μ΄ν΄ν΄μΌ ν λͺ κ°μ§ μ€μν μ¬ν
λͺ©μ (Purpose): className μμ±μ μ£Όμ λͺ©μ μ CSS ν΄λμ€λ₯Ό HTML λλ JSX μμμ μ°κ²°νλ κ²μ΄λ€. CSS ν΄λμ€λ μμμ μ μ©ν΄μΌ νλ μ€νμΌ, λ μ΄μμ λ° μκ°μ μμ±μ μ μνλ€.
ꡬ문(Syntax): className μμ±μ μμμ μμ νκ·Έμ μΌλΆλ‘ className="value" ꡬ문μ μ¬μ©νμ¬ μ§μ λλ€. classNameμ ν λΉλ κ°μ νλ μ΄μμ 곡백μΌλ‘ ꡬλΆλ ν΄λμ€ μ΄λ¦μ ν¬ν¨νλ λ¬Έμμ΄μ΄λ€.
μ΄ μμ μμ <div>
μμμλ λ κ°μ§ ν΄λμ€ μ΄λ¦μ΄ ν λΉλμ΄ μλ€: "container", "main-section"μ΄λ€.
μ¬λ¬ ν΄λμ€(Multiple Classes): className μμ±μ 곡백μΌλ‘ ꡬλΆνμ¬ μμμ μ¬λ¬ ν΄λμ€ μ΄λ¦μ ν λΉν μ μλλ‘ μ§μνλ€. μ΄λ₯Ό ν΅ν΄ μ¬λ¬ μ€νμΌμ μ μ©νκ³ μμμ μλ‘ λ€λ₯Έ CSS ν΄λμ€μ ν¨κ³Όλ₯Ό κ²°ν©ν μ μλ€.
μ¬μ¬μ©μ± λ° λͺ¨λμ±(Reusability and Modularity): CSS ν΄λμ€λ μ€νμΌμ ν λ² μ μνμ¬ μΉμ¬μ΄νΈμ μ¬λ¬ μμμ μ μ©ν μ μλ λ°©λ²μ μ 곡νλ€. μ¬λ¬ μμμ λμΌν ν΄λμ€ μ΄λ¦μ μ§μ νλ©΄ μΌκ΄λ μ€νμΌκ³Ό μ μ§ κ΄λ¦¬ κ°λ₯ν μ½λλ₯Ό 보μ₯ν μ μλ€.
CSS ν΄λμ€ μ μ(CSS Class Definitions): className μμ±κ³Ό μ°κ²°λ CSS ν΄λμ€λ λ³λμ CSS νμΌ λλ <style>
νκ·Έ λ΄μ μ μλλ€. className μμ±μ ν΄λμ€ μ΄λ¦μ CSS νμΌ λλ <style>
νκ·Έμ μ μλ μ΄λ¦κ³Ό μΌμΉνλ€. ν΄λΉ ν΄λμ€ μ΄λ¦μ μ μλ μ€νμΌμ΄ κ° μμμ μ μ©λλ€.
κ³λ¨μ λ° νΉμ μ±(Cascading and Specificity): className μμ±μ ν΅ν΄ μ¬λ¬ CSS ν΄λμ€κ° μμμ ν λΉλ κ²½μ° ν΄λΉ ν΄λμ€μ λν΄ μ μλ μ€νμΌμ΄ κ³λ¨μμΌλ‘ μ μ©λμ΄ μλ‘ μνΈ μμ©ν μ μλ€. μΆ©λνλ μ€νμΌμ΄ μ μλ κ²½μ° className μμ±μ ν΄λμ€ μ΄λ¦ μμκ° μμμ μ΅μ’ λͺ¨μμ μν₯μ μ€ μ μλ€.
μ λ°μ μΌλ‘ className μμ±μ μΉ κ°λ°μμ CSS ν΄λμ€μ HTML λλ JSX μμμ μ°κ²°μ μ©μ΄νκ² νλ μ€μν μμμ΄λ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μλ μ€νμΌμ μ μ©νκ³ μΉ μ ν리μΌμ΄μ μ μνλ μκ°μ ννκ³Ό λμμ ꡬνν μ μλ€.
μλ―Έμλ λ§ν¬μ
μλ§¨ν± λ§ν¬μ μ΄λΌκ³ λ νλ μλ―Έ μλ λ§ν¬μ μ νμλλ μ½ν μΈ μ ꡬ쑰μ μλ―Έλ₯Ό μ ννκ² νννλ λ°©μμΌλ‘ HTML μμλ₯Ό μ¬μ©νλ κ²μ κ°μ‘°νλ μΉ κ°λ° μ κ·Ό λ°©μμ΄λ€. μ¬κΈ°μλ μκ°μ μμμ΄λ μΌλ° 컨ν μ΄λμλ§ μμ‘΄νμ§ μκ³ μ½ν μΈ μ λͺ©μ κ³Ό λ§₯λ½μ μ λ¬νλ λ° κ°μ₯ μ ν©ν HTML μμλ₯Ό μ ννλ κ²μ΄ ν¬ν¨λλ€.
HTML ꡬ쑰(HTML Structure): μλ―Έ μλ λ§ν¬μ μ μ½ν μΈ μ ꡬ쑰μ λͺ©μ μ κ°μ₯ μ μ€λͺ νλ HTML μμλ₯Ό μ¬μ©νλ λ° μ€μ μ λ‘λλ€. μλ₯Ό λ€μ΄, κΈ°λ³Έ μ λͺ©μλ
<h1>
, λ¨λ½μλ<p>
, νμ λ©λ΄μλ<nav>
, μ½ν μΈ μ κ°λ³ μΉμ μλ<section>
μ μ¬μ©νλ κ²μ΄ μ’λ€. μ μ ν μμλ₯Ό νμ©νλ©΄ μ½ν μΈ μ ꡬ쑰μ κ³μΈ΅ κ΅¬μ‘°κ° μ¬λκ³Ό κ²μ μμ§ λͺ¨λμκ² λͺ ννκ³ μλ―Έ μκ² μ λ¬λλ€.μ κ·Όμ±(Accessibility)(SEO - Search Engine Optimization): μ κ·Ό κ°λ₯ν μΉμ¬μ΄νΈλ₯Ό λ§λ€λ €λ©΄ μλ―Έ μλ λ§ν¬μ μ΄ νμμ μ΄λ€. μλ§¨ν± μμλ₯Ό μ¬μ©νλ©΄ μ€ν¬λ¦° 리λμ 보쑰 κΈ°μ μ΄ μ½ν μΈ λ₯Ό λ μ μ΄ν΄νκ³ νμν μ μλ€. μ΄λ₯Ό ν΅ν΄ μκ° μ₯μ μ κ°μ μ₯μ κ° μλ μ¬λλ ν¨κ³Όμ μΌλ‘ μ 보μ μ‘μΈμ€νκ³ μ΄ν΄ν μ μλ€.
SEO(κ²μ μμ§ μ΅μ ν): κ²μ μμ§μ μΉ νμ΄μ§λ₯Ό μ ννκ² μ΄ν΄νκ³ μμΈμ μμ±νκΈ° μν΄ μλ―Έ μλ λ§ν¬μ μ μμ‘΄νλ€. μλ§¨ν± HTML μμλ₯Ό μ¬μ©νκ³ κ·Έ μμ μλ―Έ μλ μ½ν μΈ λ₯Ό μ 곡νλ©΄ κ²μ μμ§ κ²°κ³Όμμ μΉμ¬μ΄νΈμ κ°μμ±κ³Ό μμλ₯Ό ν₯μμν¬ μ μλ€. μλ§¨ν± λ§ν¬μ μ κ²μ μμ§μ΄ μ½ν μΈ λ₯Ό ν΄μνκ³ κ²μ 쿼리μμ κ΄λ ¨μ±μ νλ¨νλ λ° λμμ΄ λλ€.
μ μ§ κ΄λ¦¬ λ° μ μμ±(Maintenance and Adaptability): μλ―Έλ‘ μ λ§ν¬μ μ μ¬μ©νλ©΄ μΉμ¬μ΄νΈλ₯Ό λ μ½κ² μ μ§ κ΄λ¦¬νκ³ μ λ°μ΄νΈν μ μλ€. λ§ν¬μ μ΄ μ½ν μΈ μ ꡬ쑰λ₯Ό μ ννκ² λ°μνλ©΄ λ³κ²½, μΉμ μΆκ° λλ μ κ±°, μ¬μ΄νΈ μ 체μ μΌκ΄λ μ€νμΌ μ μ©μ΄ λ κ°λ¨ν΄μ§λλ€. λν μλ―Έ μλ λ§ν¬μ μ κ΅¬μ‘°κ° μ μ μλμ΄ μκ³ CSS λ―Έλμ΄ μΏΌλ¦¬λ‘ μ‘°μ ν μ μμΌλ―λ‘ μΉμ¬μ΄νΈκ° λ€μν μ₯μΉμ νλ©΄ ν¬κΈ°μ λ μ½κ² μ μν μ μλ€.
κ΄μ¬μ¬ λΆλ¦¬(Separation of Concerns): μλ―Έ μλ λ§ν¬μ μ ꡬ쑰(HTML), νλ μ ν μ΄μ (CSS), κΈ°λ₯(JavaScript)μ λΆλ¦¬λ₯Ό μ΄μ§νλ€. HTMLμμ μ½ν μΈ μ μλ―Έμ ꡬ쑰μ μ§μ€ν¨μΌλ‘μ¨ μΌκ΄λ μ€νμΌμ μ μ©νκ³ λ³λμ CSS λ° JavaScript νμΌμ ν΅ν΄ κΈ°λ₯μ ν₯μμν€λ κ²μ΄ λ μ¬μμ§λλ€. μ΄λ κ² λΆλ¦¬νλ©΄ μ½λ μ μ§ κ΄λ¦¬μ κ°λ μ±μ΄ ν₯μλλ€.
컨ν μ€νΈ λ° λͺ νμ±(Context and Clarity): μλ―Έ μλ λ§ν¬μ μ μ½ν μΈ μ λͺ νμ±κ³Ό λ§₯λ½μ μ 곡νλ λ° λμμ΄ λλ€. μ½ν μΈ μ λͺ©μ μ μ ννκ² μ€λͺ νλ μμλ₯Ό μ¬μ©νλ©΄ κ°λ°μ, λμμ΄λ, μ½ν μΈ μ μμκ° μ½λλ² μ΄μ€λ₯Ό λ μ½κ² μ΄ν΄νκ³ μμ ν μ μλ€. λν μλ―Έ μλ λ§ν¬μ μ μ½ν μΈ κ° μ ꡬ쑰νλκ³ μ½κ² μ΄ν΄ν μ μλλ‘ ν¨μΌλ‘μ¨ μ λ°μ μΈ μ¬μ©μ κ²½νμ κ°μ νλ€.
Last updated