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