Client/CSS

[CSS] CSS μ„ νƒμž (Selector)

meeeeejin 2020. 6. 9. 01:48

CSS ꡬ문(Syntax) ꡬ쑰

CSS의 κΈ°λ³Έ ꡬ문은 λ‹€μŒκ³Ό κ°™λ‹€.

 

selector { property: value; }

 

  • selector(μ„ νƒμž)
    // μ–΄λ–€ μš”μ†Œμ— CSS rule을 μ§€μ •ν•  것인지(Who)
  • property(속성)
    // μ„ νƒν•œ μš”μ†Œμ—μ„œ 무엇을 λ³€κ²½ν•  것인지(What)
  • value(속성 κ°’)
    // 속성을 μ–΄λ–€ κ°’μœΌλ‘œ λ³€κ²½ν•  것인지(How)

 

CSS μ„ νƒμž

CSS의 κΈ°λ³Έ μ„ νƒμžλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

 

1. 전체 μ„ νƒμž(Univeral Selector)

    전체 μ„ νƒμž(*)λŠ” 말 κ·ΈλŒ€λ‘œ λͺ¨λ“  μš”μ†Œλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

1
2
3
{
  color: red;
}
cs

 

2. νƒœκ·Έ μ„ νƒμž(Type Selector)

     νƒœκ·Έ μ„ νƒμž(elementname)λŠ” μš”μ†Œ 이름이 elementname인 μš”μ†Œλ“€μ„ μ„ νƒν•©λ‹ˆλ‹€. 

1
2
3
h1 {
    color: red;
}
cs

 

3. 클래슀 μ„ νƒμž(Class Selector)

     ν΄λž˜μŠ€ μ„ νƒμž(.classname)λŠ” classnameμ΄λΌλŠ” 클래슀λ₯Ό κ°€μ§„ μš”μ†Œλ“€μ„ μ„ νƒν•©λ‹ˆλ‹€.

<html μ½”λ“œ>

1
<h1 class="hello">Hello World</h1>
cs

<css μ½”λ“œ>

1
2
3
.hello {
    color: red;
}
cs

 

4.ID μ„ νƒμž(ID Selector)

     ID μ„ νƒμž(#idname)은  idname을 id둜 κ°€μ§€λŠ” μš”μ†Œλ₯Ό μ„ νƒν•©λ‹ˆλ‹€. 

<html μ½”λ“œ>

1
<h1 id="bye">GoodBye World</h1>
cs

<css μ½”λ“œ>

1
2
3
#id_name {
    color: red;
}
cs

 

Class  vs  ID

idλŠ” ν•œ νŽ˜μ΄μ§€(ν•œ 개의 html 파일) λ‹Ή ν•œ 번만 μ„ μ–Έ κ°€λŠ₯ν•˜μ§€λ§Œ, classλŠ” μ—¬λŸ¬ 번 μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

즉, 같은 idλ₯Ό κ°€μ§„ μš”μ†ŒλŠ” μ‘΄μž¬ν•  수 μ—†μ§€λ§Œ 같은 classλ₯Ό κ°€μ§„ μš”μ†ŒλŠ” μ‘΄μž¬ν•  수 μžˆκΈ°λ•Œλ¬Έμ— μš”μ†Œλ₯Ό κ·Έλ£Ήν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

λ˜ν•œ ν•œ μš”μ†ŒλŠ” ν•œ 개의 id만 κ°€μ§ˆ 수 μžˆμ§€λ§Œ, classλŠ” μ—¬λŸ¬κ°œ κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

 

CSS μ„ νƒμž κ²°ν•©(Combining Selectors)

1. κ·Έλ£Ή μ„ νƒμž

  • selector1, selector2 {   }
    // selector1κ³Ό selector2λ₯Ό λͺ¨λ‘ 선택

2. 볡합 μ„ νƒμž

  • selector1 selector2 {   }
    // selector1의 μžμ†μΈ selector2λ₯Ό 선택 (selector2κ°€ selector1 λ°”λ‘œ μ•„λž˜μ— μžˆμ„ ν•„μš” μ—†μŒ)
    // selector1κ³Ό selector2 사이에 곡백(space)을 μž‘μ„±ν•΄μ•Ό 함
  • selector1 > selector2 {   }
    // selector1의 μžμ‹μΈ selector2λ₯Ό 선택 (selector2κ°€ selector1 λ°”λ‘œ 밑에 μœ„μΉ˜ν•΄μ•Ό 함)
1
2
3
4
5
6
7
8
9
10
11
.class1, .class2 {
    color: red;
}
 
.class3 .class4 {
    color: blue;
}
 
.class4 > .class5 {
    color: green;
}
cs

 

CSS μ„ νƒμž μš°μ„ μˆœμœ„ (Priority)

id > class > tag(element) μˆœμ„œλ‘œ μš°μ„ μˆœμœ„κ°€ λ†’μŠ΅λ‹ˆλ‹€.

 

예λ₯Ό λ“€μ–΄, 

<h1 id = "heading" class = "title">Hello</h1>

μ΄λΌλŠ” html μ½”λ“œκ°€ 있고

 

h1 {

color: white;

color: black;

}

 

μœ„μ™€ 같은 css μ½”λ“œλ₯Ό μ μš©ν•œλ‹€λ©΄ λ‚˜μ€‘μ— μ“΄ μ½”λ“œκ°€ μ΅œμ’…μ μœΌλ‘œ μ μš©λ˜λ―€λ‘œ "Hello"λŠ” 검은색일 κ²ƒμž…λ‹ˆλ‹€. 

거기에 λ‹€μŒκ³Ό 같은 μ½”λ“œλ₯Ό μ μš©ν•˜λ©΄

 

.title { color: blue; }

 

클래슀 μ„ νƒμžκ°€ νƒœκ·Έ μ„ νƒμžλ³΄λ‹€ μš°μ„ μˆœμœ„κ°€ λ†’μœΌλ―€λ‘œ "Hello"λŠ” νŒŒλž€μƒ‰μΌ κ²ƒμž…λ‹ˆλ‹€. 

 

#heading { color: red; }

 

λ§ˆμ§€λ§‰μœΌλ‘œ μœ„μ˜ μ½”λ“œλ₯Ό μΆ”κ°€ν•˜λ©΄ id μ„ νƒμžμ˜ μš°μ„ μˆœμœ„κ°€ 제일 λ†’μœΌλ―€λ‘œ "Hello"λŠ” λΉ¨κ°„μƒ‰μœΌλ‘œ λ‚˜νƒ€λ‚  κ²ƒμž…λ‹ˆλ‹€. 

 

 

 

728x90