CSS_Selector
π CSS
π Selector
CSS μ νμ ( Selector )λ 무μμΈκ° ?
μ νμλ κ·μΉμ΄ μ μ©λλ μ리먼νΈμ΄λ€.
HTML λ¬Έμμμ CSS κ·μΉ μ μ© νκ²μ΄ λλ λ€μν μ’
λ₯μ CSS μ νμκ° μ‘΄μ¬νλ€.
-
μΌλ° μ νμ
- μ 체 μ νμ
- νμ μ νμ
- ν΄λμ€ μ νμ
- ID μ νμ
-
λ³΅ν© μ νμ
- μμ μ νμ
- νμ μ νμ
- μΈμ νμ μ νμ
- μΌλ° νμ μ νμ
- κ°μ ν΄λμ€ μ νμ
- κ°μ μλ¦¬λ¨ΌνΈ μ νμ
- μμ± μ νμ
μΌλ° μ νμ
μ°μ μμλ μ 체 μ νμ < νμ μ νμ < ν΄λμ€ μ νμ < ID μ νμ μ΄λ€.
μ 체 μ νμ ( Universal Selector )
μ¬μ©λ²μ β* {}β μ΄λ€.
HTML λ¬Έμ λ΄ λͺ¨λ Elementλ₯Ό μ ννλ€.
<head>
<style type="text/css">
* {
background: skyblue;
color: white;
font-weight: bold;
}
</style>
</head>
<body>
<h2>h2 μ 체 μ νμ</h2>
<div>div μ 체 μ νμ</div>
<p>p μ 체 μ νμ</p>
</body>
νμ μ νμ ( Type Selector )
μ¬μ©λ²μ β elementName {} β μ΄λ€.
νκ·Έλͺ
μ μ΄μ©ν΄μ μ€νμΌμ μ μ©ν νκ·Έλ₯Ό μ ννλ€.
1κ° μ΄μμ HTML μ리먼νΈλ₯Ό μ¬μ©ν μ μλ€.
μ¬λ¬ μ리먼νΈλ₯Ό μ νν λλ μ»΄λ§λ‘(,) ꡬλΆνλ€.
<head>
<style type="text/css">
div,
p {
padding: 10px;
margin: 10px;
font-weight: bold;
}
div {
background: skyblue;
color: white;
}
p {
background: lightgrey;
color: black;
}
</style>
</head>
<body>
<h2>h2 νμ
μ νμ</h2>
<div>div νμ
μ νμ</div>
<p>p νμ
μ νμ</p>
</body>
ν΄λμ€ μ νμ ( Class Selector )
μ¬μ©λ²μ β .className {} β μ΄λ€.
ν΄λμ€ λͺ
μ 곡백 μμ΄ λμλ¬Έμ λλ (-), (_) λ‘ μμνλ€.
HTML λ¬Έμμμ λμΌν ν΄λμ€ λͺ
μ μ€λ³΅ν΄μ μ¬μ© κ°λ₯νλ€. ( κ³΅ν΅ μμ± μ μ© κ°λ₯ )
class μμ± κ°μ νλ μ΄μμ ν΄λμ€λ₯Ό μ μ© κ°λ₯νλ€.
<head>
<style type="text/css">
.target1 {
background: skyblue;
color: white;
}
.target2 {
background: lightgrey;
color: black;
}
p.target1 {
font-weight: bold;
font-size: 20px;
}
</style>
</head>
<body>
<h2>h2 ν΄λμ€ μ νμ</h2>
<div class="target1">div ν΄λμ€ μ νμ</div>
<p class="target2">p ν΄λμ€ μ νμ</p>
<p class="target1">p ν΄λμ€ μ νμ</p>
</body>
ID μ νμ ( ID Selector )
μ¬μ©λ²μ β #IDName {} β μ΄λ€.
HTML λ¬Έμμμ λμΌν IDλ₯Ό μ€λ³΅ μ¬μ©ν μ μλ€. ( classμ λ¬λ¦¬ IDλ μ μΌν΄μΌ νλ€. )
ID μμ± κ°μ 1κ°μ IDλ§ μ¬μ© κ°λ₯
μΌλ° μ νμ μ€μ κ°μ₯ μ°μ μμκ° λλ€.
<head>
<style type="text/css">
#target1 {
background: skyblue;
color: white;
}
#target2 {
background: lightgrey;
color: black;
}
</style>
</head>
<body>
<h2>h2 ID μ νμ</h2>
<div>div ID μ νμ</div>
<p id="target1">p ID μ νμ</p>
<p id="target2">p ID μ νμ</p>
</body>
λ³΅ν© μ νμ
νμ μ νμ ( Descendant Selector ) & μμ μ νμ ( Child Selector )
- νμ μ νμ
- μ¬μ©λ²μ β element element {} β μ΄λ€.
- 1λ¨κ³ νμ μμ μ 2λ¨κ³ μ΄μ νμ μμμ λͺ¨λ μ μ©νλ€.
- μ¬μ©λ²μ β element element {} β μ΄λ€.
- μμ μ νμ
- μ¬μ©λ²μ β element > element {} β μ΄λ€.
- 1λ¨κ³ νμ μμμλ§ μ μ©νλ€.
- μ¬μ©λ²μ β element > element {} β μ΄λ€.
<head>
<style type="text/css">
div div {
background-color: black;
color: green;
}
div p {
background-color: yellow;
color: orange;
}
div > div {
background-color: blue;
color: red;
}
div > p {
background-color: grey;
color: white;
}
</style>
</head>
<body>
<div>
div νμ μ νμ
<p>div > p νμ μ νμ</p>
<div>
div div νμ μ νμ
<span
><div>
<ul>
<li><p>div p νμ μ νμ</p></li>
</ul>
</div></span
>
</div>
</div>
</body>
μΈμ νμ μ νμ ( Adjacent Sibling Selector ) & μΌλ° νμ μ νμ ( General Sibling Selector )
- μΈμ νμ μ νμ
- μ¬μ©λ²μ β element + element {} β μ΄λ€.
- νμ κ΄κ³μΈ μ리먼νΈκ° μ¬λ¬κ° μ‘΄μ¬ν λ 첫λ²μ§Έ μ리먼νΈλ§ μ ν
- μ¬μ©λ²μ β element + element {} β μ΄λ€.
- μΌλ° νμ μ νμ
- μ¬μ©λ²μ β element ~ element {} β μ΄λ€.
- νμ κ΄κ³μΈ μ리먼νΈκ° μ¬λ¬κ° μ‘΄μ¬ν κ²½μ° λͺ¨λ μ리먼νΈλ₯Ό μ ν
- μ¬μ©λ²μ β element ~ element {} β μ΄λ€.
<head>
<style type="text/css">
div + p {
background-color: grey;
color: red;
}
div.target ~ p {
background-color: yellow;
color: black;
}
</style>
</head>
<body>
<div>μΈμ νμ μ νμ</div>
<p>div + p μΈμ νμ μ νμ</p>
<p>div + p μΈμ νμ μ νμ2</p>
<div class="target">div μΌλ° νμ μ νμ</div>
<p>target ~ p μΌλ° νμ μ νμ</p>
<p>target ~ p μΌλ° νμ μ νμ2</p>
</body>
κ°μ ν΄λμ€ μ νμ ( Pseudo-Classes Selector )
μ¬μ©λ²μ β κ°μ ν΄λμ€ {} β μ΄λ€.
κ°μ ν΄λμ€ μ νμλ User Agent κ° μ 곡νλ κ°μ ν΄λμ€λ₯Ό μ§μ νλ€.
μ νμ | μλ―Έ |
---|---|
:link | λ°©λ¬Ένμ§ μμ λ§ν¬λ₯Ό μ ν |
:visited | λ°©λ¬Έν λ§ν¬λ₯Ό μ ν |
:hover | μ§μ λ μμμ λ§μ°μ€κ° μ¬λΌκ° κ²½μ° μ ν |
:active | μ§μ λ μμκ° νμ±ν λ κ²½μ° μ ν |
:focus | μ§μ λ μμκ° ν¬μ»€μ€λ₯Ό κ°μ§ κ²½μ° μ ν |
:first-child | μ§μ λ μμ μ€ λΆλͺ¨μ 첫 λ²μ§Έ μμ μ ν |
:last-child | μ§μ λ μμ μ€ λΆλͺ¨μ λ§μ§λ§ μμ μ ν |
:nth-child(n) | μ§μ λ μμ μ€ nλ²μ§Έ μμ μ ν |
:enabled | μ§μ λ μμ μμκ° enabledμΈ κ²½μ° μ ν |
:disabled | μ§μ λ μμ μμκ° disabledμΈ κ²½μ° μ ν |
:checked | μ§μ λ μμ μμκ° checkedμΈ κ²½μ° μ ν |
κ°μ μλ¦¬λ¨ΌνΈ μ νμ ( Psudeo-Element Selector )
μ¬μ©λ²μ β ::κ°μ μλ¦¬λ¨ΌνΈ {} β μ΄λ€.
κ°μ μλ¦¬λ¨ΌνΈ μ νμλ 보μ΄μ§ μλ κ°μμ μ리먼νΈλ₯Ό μ ννλ€.
μ νμ | μλ―Έ |
---|---|
::after | μ§μ λ μμ λ€μ content μΆκ° |
::before | μ§μ λ μμ μμ content μΆκ° |
::first-letter | μ§μ λ μμμ 첫 λ²μ§Έ λ¬Έμ μ ν |
::first-line | μ§μ λ μμμ 첫 λ²μ§Έ λΌμΈ μ ν |
::selection | μ¬μ©μμ μν΄ μ νλ μμμ μμΉ μ ν ( λλκ·Έ ) |
μμ± μ νμ
νΉμ ν μμ±μ κ°μ§κ±°λ μμ± κ°μ κ°λ μ리먼νΈλ₯Ό μ ννλ€.
μμ± μ νμλ₯Ό μ¬μ©νκΈ° μν΄μλ HTMLλ¬Έμλ₯Ό μμ±ν λμ name, titleμ κ·μΉμ μΌλ‘ μ μν΄μΌνλ€.
νλ©΄μ κ°μ λΆλ₯μ λ§μ νλͺ©λ€μ μΌκ΄μ μΌλ‘ μ νν λ μ μ©νλ€.
μ νμ | μλ―Έ |
---|---|
[A] | A μμ±μ΄ ν¬ν¨λ μλ¦¬λ¨ΌνΈ μ ν |
[A=V] | A μμ± κ°μ΄ Vμ μ νν μΌμΉνλ μλ¦¬λ¨ΌνΈ μ ν |
[A~=V] | A μμ± κ°μ΄ Vλ₯Ό ν¬ν¨νλ μλ¦¬λ¨ΌνΈ μ ν |
[A^=V] | A μμ± κ°μ΄ Vλ‘ μμνλ μλ¦¬λ¨ΌνΈ μ ν |
[A*=V] | A μμ± κ°μ΄ Vλ₯Ό ν¬ν¨νλ μλ¦¬λ¨ΌνΈ μ ν |
[A$=V] | A μμ± κ°μ΄ Vλ‘ λλλ μλ¦¬λ¨ΌνΈ μ ν |
CSS κ·μΉ μ μ© μ°μ μμ
- κ°μ μ리먼νΈμ λ κ°μ΄μμ CSS κ·μΉμ΄ μ μ© λ κ²½μ° λ§μ§λ§ κ·μΉ, ꡬ체μ μΈ κ·μΉ, !importantκ° μ°μ μ μ©λλ€.
- CSS κ·μΉλ€ μ€ νλ¨μ μμ±ν κ·μΉμ΄ λ§μ§λ§ κ·μΉμ΄λ€.
- μμ± κ° λ€μ !importantλ₯Ό μμ±νλ©΄ κ°μ μ리먼νΈμ λν΄ λ³΄λ€ μ°μ μ μΌλ‘ μ€νμΌμ μ μ©νλ€.
CSS μ νμ λ§λ¬΄λ¦¬
μ¬λ¬ μ’
λ₯μ μ νμλ€μ μμ보μλ€.
μμΌλ‘ λ§μ΄ μ°μΌ κ²λ€μ΄λΌμ νμ€ν μΈμ°μ§ λͺ»νμ§λ§ μ΄λμ λ λκ° μκ³ λκ° μΈμ μ°μ΄λμ§ νμ
νμΌλ λμ€μ μ¬μ©ν λ λ€μ 보면μ λ°μ΄ν°λ₯Ό μμκ°μΌκ² λ€.
κ·Έλ¦¬κ³ μ°μ μμλ₯Ό μ νμ
ν΄μ μ¬μ©ν΄μΌκ² λ€ !