All :L

Web(Front) - CSS ์„ ํƒ์ž (Selector) ๋ณธ๋ฌธ

STUDY/Front End

Web(Front) - CSS ์„ ํƒ์ž (Selector)

ofijwe 2024. 8. 26. 10:41
๋ฐ˜์‘ํ˜•

๐Ÿ“’ CSS3 ์„ ํƒ์ž (Selector)

1๏ธโƒฃ ์„ ํƒ์ž

  • CSS ๊ทœ์น™ ์ ์šฉ ํƒ€๊ฒŸ์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ CSS ์„ ํƒ์ž(selector)์กด์žฌ
  • ์ผ๋ฐ˜ ์„ ํƒ์ž : ์ „์ฒด, ํƒ€์ž…, ํด๋ž˜์Šค ID ์„ ํƒ์ž๋กœ ๋ถ„๋ฅ˜
  • ๋ณตํ•ฉ ์„ ํƒ์ž : ์ž์‹, ํ•˜์œ„, ์ธ์ ‘ ํ˜•์ œ, ์ผ๋ฐ˜ ํ˜•์ œ ์„ ํƒ์ž๋กœ ๋ถ„๋ฅ˜
  • ๊ทธ ์™ธ : ๊ฐ€์ƒ ํด๋ž˜์Šค, ๊ฐ€์ƒ ์—˜๋ฆฌ๋จผํŠธ. ์†์„ฑ ์„ ํƒ์ž ์กด์žฌ

2๏ธโƒฃ ์ผ๋ฐ˜ ์„ ํƒ์ž

  • ์ „์ฒด ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ• : *{}
    • HTML ๋ฌธ์„œ ๋‚ด ๋ชจ๋“  ์š”์†Œ ์„ ํƒ
    • ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด ์šฐ์„  ์ˆœ์œ„ ๋‚ฎ์Œ
  • ํƒ€์ž… ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ• : elementName {}
    • ํƒœ๊ทธ๋ช… ์ด์šฉํ•ด ์Šคํƒ€์ผ ์ ์šฉํ•  ํƒœ๊ทธ ์„ ํƒ
    • 1๊ฐœ ์ด์ƒ์˜ HTML ์š”์†Œ ์‚ฌ์šฉ
    • ์—ฌ๋Ÿฌ ์š”์†Œ ์ฝค๋งˆ๋กœ ๊ตฌ๋ถ„
  • ํด๋ž˜์Šค ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ• : .class-name {}
    • ํด๋ž˜์Šค ๋ช… : ๊ณต๋ฐฑ ์—†์ด ๋Œ€์†Œ๋ฌธ์ž or -, _๋กœ ์‹œ์ž‘
    • ๋™์ผํ•œ ํด๋ž˜์Šค ๋ช…์„ ์ค‘๋ณตํ•ด์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ(๊ณตํ†ต ์†์„ฑ ์ ์šฉ)
    • class ์†์„ฑ ๊ฐ’์— ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋ž˜์Šค ์ ์šฉ ๊ฐ€๋Šฅ
  • ID ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ„ : #id-name {}
    • ๋™์ผํ•œ ID ์ค‘๋ณต ์‚ฌ์šฉ X (class์™€ ๋‹ฌ๋ฆฌ ์œ ์ผํ•ด์•ผ ํ•จ)
    • id ์†์„ฑ ๊ฐ’์—” 1๊ฐœ์˜ id๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ์ผ๋ฐ˜ ์„ ํƒ์ž ์ค‘ ์šฐ์„  ์ˆœ์œ„ ๊ฐ€์žฅ ๋†’์Œ
  • ์ผ๋ฐ˜ ์„ ํƒ์ž ์šฐ์„  ์ˆœ์œ„
    • ์ „์ฒด < ํƒ€์ž… < ํด๋ž˜์Šค < ID ์„ ํƒ์ž

3๏ธโƒฃ ๋ณตํ•ฉ ์„ ํƒ์ž

  • ํ•˜์œ„ ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ• : element element {}
    • 1๋‹จ๊ณ„ ํ•˜์œ„ ์š”์†Œ(child)์™€ 2๋‹จ๊ณ„ ํ•˜์œ„์š”์†Œ(descendant)์— ๋ชจ๋‘ ์ ์šฉ
  • ์ž์‹ ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ• : element > element {}
    • 1๋‹จ๊ณ„ ํ•˜์œ„์š”์†Œ(child)์—๋งŒ ์ ์šฉ
  • ์ธ์ ‘ ํ˜•์ œ ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ• : element + elemetn {}
    • ํ˜•์ œ ๊ด€๊ณ„ ์š”์†Œ ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌ ์‹œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋งŒ ์„ ํƒ
  • ์ผ๋ฐ˜ ํ˜•์ œ ์„ ํƒ์ž
    • ์‚ฌ์šฉ๋ฒ• : element ~ elemetn {}
    • ํ˜•์ œ ๊ด€๊ณ„ ์š”์†Œ ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌ ์‹œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์„ ํƒ

4๏ธโƒฃ ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž

  • User Agent๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ƒ ํด๋ž˜์Šค ์ง€์ •
  • ์‚ฌ์šฉ๋ฒ• : element:๊ฐ€์ƒ ํด๋ž˜์Šค {}
  • ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž
  • :link VS :visited
    • link : ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋งํฌ ์„ ํƒ
    • visited : ๋ฐฉ๋ฌธํ•œ ๋งํฌ ์„ ํƒ
  • :hover VS :active
    • hover : ์š”์†Œ์— ๋งˆ์šฐ์Šค ์˜ฌ๋ผ๊ฐ„ ๊ฒฝ์šฐ ์„ ํƒ
    • active : ์š”์†Œ๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์„ ํƒ
  • :focus
    • ์š”์†Œ๊ฐ€ ํฌ์ปค์Šค๋ฅผ ๊ฐ€์งˆ ๊ฒฝ์šฐ
  • :nth-child(n)
    • ์ง€์ •๋œ ์š”์†Œ์˜ ๋ถ€๋ชจ n๋ฒˆ์งธ ์ž์‹๋“ค์— ์ ์šฉ
    • ๊ด„ํ˜ธ์— ์ƒ์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ˆ˜์—ด(2n + 1)๋„ ๊ฐ€๋Šฅ
    • n์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ / ์ž์‹ ์ˆœ๋ฒˆ์€ 1๋ถ€ํ„ฐ ์‹œ์ž‘
    • ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์™€ ๋งˆ์ง€๋ง‰ ์š”์†Œ ์Šคํƒ€์ผ ์ง€์ •์€ :first-child์™€ :last-child ์„ ํƒ์ž ์‚ฌ์šฉ

5๏ธโƒฃ ๊ฐ€์ƒ ์—˜๋ฆฌ๋จผํŠธ ์„ ํƒ์ž

  • ๋ณด์ด์ง€ ์•Š๋Š” ๊ฐ€์ƒ์˜ ์š”์†Œ ์„ ํƒ
  • ์‚ฌ์šฉ๋ฒ• : ::๊ฐ€์ƒ ์—˜๋ฆฌ๋จผํŠธ {}

6๏ธโƒฃ ์†์„ฑ ์„ ํƒ์ž → ๊ตณ์ด ๋‹ค ์•Œ ํ•„์š” X

  • ํŠน์ • ์†์„ฑ์„ ๊ฐ€์ง€๊ฑฐ๋‚˜ ์†์„ฑ ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ ์„ ํƒ
  • ํ™”๋ฉด์— ๊ฐ™์€ ๋ถ„๋ฅ˜์˜ ๋งŽ์€ ํ•ญ๋ชฉ๋“ค์„ ์ผ๊ด„์ ์œผ๋กœ ์„ ํƒํ•  ๋•Œ ์œ ์šฉ
  • CSS ์†์„ฑ ์„ ํƒ์ž

7๏ธโƒฃ CSS ๊ทœ์น™ ์ ์šฉ ์šฐ์„ ์ˆœ์œ„

  • ๊ฐ™์€ ์—˜๋ฆฌ๋จผํŠธ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ CSS ๊ทœ์น™ ์ ์šฉ๋œ ๊ฒฝ์šฐ
    • ๋งˆ์ง€๋ง‰ ๊ทœ์น™, ๊ตฌ์ฒด์ ์ธ ๊ทœ์น™, Iimportant๊ฐ€ ์šฐ์„  ์ ์šฉ
  • CSS ๊ทœ์น™ ์ค‘ ํ•˜๋‹จ์— ์ž‘์„ฑํ•œ ๊ทœ์น™์ด ๋งˆ์ง€๋ง‰ ๊ทœ์น™
  • P {} ๋ณด๋‹จ p b {}๊ฐ€ ๋” ๊ตฌ์ฒด์  → p{}๊ฐ€ ์•„๋‹Œ pb {}๊ฐ€ ์ ์šฉ๋จ
  • ์†์„ฑ ๊ฐ’ ๋’ค์— Iimportant ์ž‘์„ฑํ•˜๋ฉด ๊ฐ™์€ ์š”์†Œ์— ๋ณด๋‹ค ์šฐ์„ ์ ์œผ๋กœ ์Šคํƒ€์ผ ์ ์šฉ
๋ฐ˜์‘ํ˜•

'STUDY > Front End' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Web(Front) - JavaScript  (0) 2024.08.27
Web(Front) - CSS ์†์„ฑ  (0) 2024.08.27
Web(Front) - CSS  (0) 2024.08.26
Web(Front) - HTML & DOM  (0) 2024.08.26
Web(Front) - HTML Semantic  (0) 2024.08.25
Comments