HTMLκ³Ό CSSλ μ΄μ©μμ λμμ λ°λ₯Έ λ³νλ₯Ό μΌλ°μ μΌλ‘ νλ©΄μ λ°μν μ μλ€. κ·Έλ¬λ μ΄λ€ μμ μμ 컀μλ₯Ό μ¬λ € λκ±°λ λμ λμ²λΌ μμ£Ό ꡬνν νμμ±μ΄ μλ λμ μΌλΆλ κ°μ ν΄λμ€λ μμμ ννλ‘ μ 곡νκΈ°λ νλ€. μ΄λ² ν¬μ€νΈμμλ κ°μ ν΄λμ€μ μμμ λν΄ μμλ³΄κ³ , μ¬λ¬ μ νμκ° ν μμλ₯Ό κΎΈλ©°μ€ λ μ°μ μμλ₯Ό νκΈ°νκΈ° μν΄ μ¬μ©λλ ꡬ체μ±μ μ μμ λν΄ μμλ³Έλ€. <ν΄λΉ ν¬μ€νΈλ λΉμ 곡μλ₯Ό μν HTML/CSS κ°μ κΈ°λ°μΌλ‘ μμ±λλ€>
κ°μ ν΄λμ€pseudo class
μλ₯Ό λ€μ΄, <p>κ° μλ€κ³ κ°μ νμ. μ΄ <p>μ λ§μ°μ€ 컀μλ₯Ό μ¬λ Έμ λλ§ νΉμ μ€νμΌμ μ£Όλ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉ? ν΄λΉ λμμ μν΄ κ΅¬νν΄μΌ ν λΆλΆμ λ€μκ³Ό κ°λ€.
(1) μμμ ν΄λμ€ μ νμλ₯Ό μ μΈν΄ νΉμ μ€νμΌ κ·μΉμ λ§λ λ€.
(2) <p> μμμ 컀μκ° μ¬λΌκ°λ©΄ ν΄λμ€λ₯Ό μ§μ΄λ£λλ€.
(3) <p> μμμμ 컀μκ° λΉ μ§λ©΄ ν΄λμ€λ₯Ό μμ νλ€.
μ΄λ° ννμ κΈ°λ₯μ HTMLκ³Ό CSSμμλ λ§λ€μ΄ λ΄κΈ° μ΄λ ΅λ€. 2, 3λ²μ λμ μΌλ‘ λ³νλΌμΌ νλ λΆλΆμΈλ°, λ μΈμ΄λ μ μ μΈ μΈμ΄μ΄κΈ° λλ¬Έμ μ΄λ° λΆλΆμ ꡬνν μ μκΈ° λλ¬Έμ΄λ€. κ·Έλμ CSSμμλ ννκ² μ¬μ©λλ μ¬λ¬ ν¨ν΄μ λν΄ λ―Έλ¦¬ μ μν΄ λκ³ μ΄λ₯Ό κ°μ ν΄λμ€ ννλ‘ μ μ΄ν μ μκ² νλ€.
:pseudo-class {
property: value;
}
κ°μ ν΄λμ€μ κΈ°λ³Ένμ μμ κ°λ€. κ°μ ν΄λμ€λ₯Ό μ΄μ©νλ©΄, λ€λ₯Έ μΈμ΄λ₯Ό λμ΄μ€μ§ μκ³ λ CSS λ΄μμ λμ μΈ κΈ°λ₯μ μ²λ¦¬ κ°λ₯νλ―λ‘ ν¨μ¬ ν¨μ¨μ μ΄λ€. μλλΆν°λ, κΈ°λ³Έμ μΈ κ°μ ν΄λμ€μ μ νμ λν΄ λ€λ£¬λ€.
λ¬Έμ ꡬ쑰μ κ΄λ ¨λ κ°μ ν΄λμ€
first-child : 첫 λ²μ§Έ μμ μμ μ ν.
last-child : λ§μ§λ§ μμ μμ μ ν.
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JS</li>
</ul>
li:first-child { color: red; }
li:last-child { color: blue; }
ν΄λΉ μ½λλ₯Ό μ¬μ©νλ©΄ μ²μ <li>μ λ§μ§λ§ <li>μ κ°κ° μμμ΄ μ μ©λλ€. μ¦, κ°μ μ νμλ‘ μμ κ°μ΄ ꡬνν μ½λλ μλ μ½λμ²λΌ κ°μ μ νμ μμ΄ κ΅¬νλ μλ μλ€.
<ul>
<li class="first-child">HTML</li>
<li>CSS</li>
<li class="last-child">JS</li>
</ul>
μ΅μ»€ μμμ κ΄λ ¨λ κ°μ ν΄λμ€
:link : νμ΄νΌ λ§ν¬μ΄λ©΄μ μμ§ λ°©λ¬Ένμ§ μμ μ΅μ»€.
:visited : μ΄λ―Έ λ°©λ¬Έν νμ΄νΌλ§ν¬λ₯Ό μλ―Έ.
a:link { color: blue; }
a:visited { color: gray; }
μ¬μ©μ λμκ³Ό κ΄λ ¨ν κ°μ ν΄λμ€
μ΄κ²λ€λ μ£Όλ‘ <a>μ λ§μ΄ μ°μΈλ€. λ€λ§ μ΅μ»€ κ΄λ ¨ ν΄λμ€μ λ¬λ¦¬ μ‘°κ±΄λ§ λ§μΌλ©΄ λ€λ₯Έ μμμλ μ¬μ© κ°λ₯νλ€.
focus: νμ¬ μ
λ ₯ μ΄μ μ κ°μ§ μμμ μ μ©
hover: λ§μ°μ€ ν¬μΈν°κ° μλ μμμ μ μ©
active: μ¬μ©μ μ
λ ₯μΌλ‘ νμ±νλ μμμ μ μ©
a:focus { background-color: yellow; }
a:hover { font-weight: bold; }
a:active { color: red; }
κ°μ μμ pseudo element
::pseudo-element {
property: value;
}
κ°μ ν΄λμ€μ²λΌ λ¬Έμ λ΄μ 보μ΄μ§ μμ§λ§ 미리 μ μν μμΉμ μ½μ λλλ‘ μ½μλμ΄ μλ κ²μΌλ‘, κ°μ μμκ° μλ€. κ°μ μμλ₯Ό μ¬μ©νλ©΄ HTML μ½λμ μ‘΄μ¬νμ§ μλ ꡬ쑰 μμμ μ€νμΌμ λΆμ¬ν μ μλ€. κΈ°λ³Έμ μΌλ‘ κ°μ ν΄λμ€μ λμΌνκ² μ½λ‘ μΌλ‘ μ μΈνμΌλ, CSS3λΆν°λ κ°μ ν΄λμ€μμ ꡬλΆμ μν΄ ::(λλΈ μ½λ‘ ) κΈ°νΈλ₯Ό μ¬μ©νκ² κ°νΈλλ€. λ€λ§ νμ λΈλΌμ°μ μμ :: λ¬Έλ²μ μ§μνμ§ μλ λ¬Έμ κ° μμ μ μκ³ μ΄ λλ ; κΈ°νΈλ₯Ό μ¬μ©ν΄μΌ νλ€.
before : κ°μ₯ μμ μμλ₯Ό μ½μ
.
after : κ°μ₯ λ€μ μμλ₯Ό μ½μ
.
first-line : μμμ 첫 λ²μ§Έ μ€μ μλ ν
μ€νΈ.
first-letter : λΈλ‘ λ 벨 μμμ 첫 λ²μ§Έ λ¬Έμ.
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
p::before { content: "###" }
p::after { content: "!!!" }
p::first-line { ... }
p::first-letter { ... }
beforeμ after κ°μ μμλ μ μ΄μ λ΄μ©μ΄ μλ μνλ‘ μμ±λκΈ° λλ¬Έμ λ΄μ©μ λ£κΈ° μν΄μλ content μμ±μ μ΄μ©ν΄μΌ νλ€. λμ 보μ΄μ§ μλ μμλ₯Ό ꡬ체νν΄ λ³΄λ©΄ λ€μκ³Ό κ°λ€.
<p>
<first-letter>L</first-letter>orem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
<p>
<!-- λͺ¨λν° κ°λ‘ ν΄μλμ λ°λΌ μμκ° ν¬ν¨νλ λ΄μ©μ΄ λ³λλ©λλ€. -->
<first-line>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiu ..(..μ΄λκ°μ―€..) </first-line>... unt ut labore et dolore magna aliqua.
</p>
μ μΈμ ꡬ체μ±
h1 { color: red; }
body h1 { color: green; }
μμλ₯Ό μ ννλ λ°λ μ¬λ¬ λ°©λ²μ΄ μλ€. λ°λΌμ μλ‘ λ€λ₯Έ μ νμλ₯Ό μ΄μ©ν΄ κ°μ μμλ₯Ό μ νν μλ μλ€. μ μ½λμμ, λ κ·μΉμ λͺ¨λ <h1>μ μ§μ νμ§λ§ λ κ·μΉμ΄ μ§μ νλ μ€νμΌμ μλ‘ λ€λ₯΄λ€. μ΄λ΄ λ <h1>μ μ΄λ»κ² ννλ κΉ.
μ νμμλ μ΄λ€ κ·μΉμ΄ μ°μ μΌλ‘ μ μ©λΌμΌ νλμ§μ λν΄ μ ν΄μ§ κ·μΉμ΄ μλ€. μ΄ κ·μΉμ 'ꡬ체μ±'μ΄λΌκ³ νλ€. ꡬ체μ±μ μ νμλ₯Ό μΌλ§λ λͺ μμ μΌλ‘ μ μΈνλλλ₯Ό μμΉνν κ²μΌλ‘, ꡬ체μ±μ κ°μ΄ ν΄ μλ‘ μ°μ μΌλ‘ μ μ©λλ€.
0, 0, 0, 0
ꡬ체μ±μ μμ κ°μ΄ λ€ κ°μ μ«μ κ°μΌλ‘ μ΄λ€μ Έ μλ€. κ°μ λΉκ΅ν λλ μ’μΈ‘μ μλ κ°λΆν° λΉκ΅νλ©°, μ’μΈ‘ λΆλΆμ μ«μκ° ν΄ μλ‘ λμ ꡬ체μ±μ κ°λλ€. ꡬ체μ±μ μλμ κ·μΉλλ‘ κ³μ°λλ€.
0, 1, 0, 0 : μ νμμ μλ λͺ¨λ id μμ±κ°
0, 0, 1, 0 : μ νμμ μλ λͺ¨λ class μμ±κ°, κΈ°ν μμ±, κ°μ ν΄λμ€
0, 0, 0, 1 : μ νμμ μλ λͺ¨λ μμ, κ°μ μμ
0, 0, 0, 0 : μ 체 μ νμ
h1 { ... } /* 0,0,0,1 */
body h1 { ... } /* 0,0,0,2 */
.grape { ... } /* 0,0,1,0 */
*.bright { ... } /* 0,0,1,0 */
p.bright em.dark { ... } /* 0,0,2,2 */
#page { ... } /* 0,1,0,0 */
div#page { ... } /* 0,1,0,1 */
μΈλΌμΈ μ€νμΌ
p#page { color: red; }
<p id="page" style="color:blue">Lorem impusm dolor sit.</p>
μ λ μ€νμΌ μ μΈλ¬Έμ 보μ. μ μλ 0, 1, 0, 1μ ꡬ체μ±μ κ°μ§λ μ νμλ‘ μ€νμΌμ μ μΈν κ²μ΄κ³ λ λ²μ§Έλ μμμ μ§μ μΈλΌμΈ μ€νμΌ λ°©μμΌλ‘ μ μΈν κ²μ΄λ€. λ μ€ λ¬΄μμ΄ μ°μ μμλ‘ μ μ©λ κΉ? μ λ΅μ νμλ€. μΈλΌμΈ μ€νμΌμ κ΅¬μ²΄μ± κ°μ 1, 0, 0, 0μ΄λ©° κ·μΉλ€ μ€ κ°μ₯ ν° κ΅¬μ²΄μ±μ κ°λλ€.
κ·μΉμ μ°μ κΆ μ μ©νκΈ°, important
p#page { color: red !important; }
<p id="page" style="color:blue">Lorem impusm dolor sit.</p>
important ν€μλλ λ³λμ κ΅¬μ²΄μ± κ°μ μμ§λ§ λͺ¨λ ꡬ체μ±μ 무μνκ³ μ°μ κΆμ κ°λλ€. μμ±κ° λ€μ ν μΉΈ 곡백μ μ£Όκ³ λλν κΈ°νΈμ ν¨κ» μ°λ©΄ importantλ₯Ό μ μ©ν μ μλ€. μμ <p>μλ importantλ‘ μΈν΄ color: redκ° μ μ©λλ€.
μμ±μ μμ
h1 { color: gray; }
<h1>Hello, <em>CSS</em></h1>
μ μ½λμμ <em>μ λΆλͺ¨μΈ <h1>μ color: greyλ₯Ό μμλ°λλ€. λ€λ§, λͺ¨λ λΆλͺ¨μ μμ±μ΄ μμμκ² μμλλ 건 μλλ€. μμμ μΌλ‘ ꡬλΆλ λ§ν μμ± μΈ, margin/ padding/ background/ border λ±μ μμλμ§ μλλ€.
μμ μμ±μ ꡬ체μ±
* { color: red; }
h1#page { color: gray; }
<h1 id="page">Hello, <em>CSS</em></h1>
μ μ½λμμ, <em>μλ color: redκ° μ μ©λλ€. μμλ μμ±μ ꡬ체μ±μ κ°μ§μ§ λͺ» νλ μ μ κΈ°μ΅νμ.
'TOOLS > Frontend' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| CSS λ¬Έλ² (2) : μ νμμ μ ν λ° μ‘°ν©, λ¬Έμ ꡬ쑰μ μ΄ν΄ (0) | 2024.03.11 |
|---|---|
| CSS λ¬Έλ² (1) : CSSμ μ μ, HTMLμμ μ°κ²° λ°©λ² (0) | 2024.03.10 |
| HTML μμλ³ λ¬Έλ² νκ·Έ μ 리 (0) | 2024.03.10 |