CodeGym /์ž๋ฐ” ์ฝ”์Šค /Frontend SELF KO /๊ฒฐํ•ฉ ์„ ํƒ์ž

๊ฒฐํ•ฉ ์„ ํƒ์ž

Frontend SELF KO
๋ ˆ๋ฒจ 12 , ๋ ˆ์Šจ 5
์‚ฌ์šฉ ๊ฐ€๋Šฅ

5.1 ์„ ํƒ์ž ์ข…๋ฅ˜

CSS์˜ ๊ฒฐํ•ฉ ์„ ํƒ์ž๋Š” DOM ํŠธ๋ฆฌ์—์„œ ์„œ๋กœ์˜ ์œ„์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์š”์†Œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜. ์ด ์„ ํƒ์ž๋Š” ์š”์†Œ์˜ ์ปจํ…์ŠคํŠธ์— ๋”ฐ๋ผ ์Šคํƒ€์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋” ์ •ํ™•ํ•œ ์Šคํƒ€์ผ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•ด. CSS์—๋Š” ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๊ฒฐํ•ฉ ์„ ํƒ์ž๊ฐ€ ์žˆ์–ด: ํ›„์†, ์ž์‹ ์š”์†Œ, ์ธ์ ‘ ํ˜•์ œ ์š”์†Œ, ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜ ํ˜•์ œ ์š”์†Œ.

๊ฒฐํ•ฉ ์„ ํƒ์ž์˜ ์ข…๋ฅ˜:

  • ํ›„์† ์„ ํƒ์ž (Descendant Selector)
  • ์ž์‹ ์š”์†Œ ์„ ํƒ์ž (Child Selector)
  • ์ธ์ ‘ ํ˜•์ œ ์š”์†Œ ์„ ํƒ์ž (Adjacent Sibling Selector)
  • ์ผ๋ฐ˜ ํ˜•์ œ ์š”์†Œ ์„ ํƒ์ž (General Sibling Selector)

5.2 ํ›„์† ์„ ํƒ์ž

ํ›„์† ์„ ํƒ์ž๋Š” ์ง€์ •๋œ ์š”์†Œ์˜ ๋ชจ๋“  ํ›„์† ์š”์†Œ๋ฅผ ์„ ํƒํ•ด. ํ›„์†์€ ์ง€์ •๋œ ์š”์†Œ ์•ˆ์—์–ด๋– ํ•œ ์ค‘์ฒฉ ๋ ˆ๋ฒจ์—๋„ ์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ์•ผ (์ด๋Š” ๋‹จ์ˆœํ•œ ์ž์‹๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์†์ž, ์ฆ์†์ž๋„ ํฌํ•จ๋ผ).

๋ฌธ๋ฒ•:

    
      ๋ถ€๋ชจ ํ›„์† {
        ์†์„ฑ: ๊ฐ’;
        ์†์„ฑ: ๊ฐ’;
      }
    
  

์˜ˆ์‹œ:

CSS
    
      /* <div> ๋‚ด์— ์žˆ๋Š” ๋ชจ๋“  <p>๋ฅผ ์„ ํƒ */
      div p {
        color: blue;
      }
    
  
HTML
    
      <div>
        <p>์ด ๋ฌธ์žฅ์€ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ผ.</p>
        <div>
          <p>์ด ๋ฌธ์žฅ๋„ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ผ, ์™œ๋ƒํ•˜๋ฉด "div"์˜ ํ›„์†์ด๊ธฐ ๋•Œ๋ฌธ์ด์ง€.</p>
        </div>
      </div>
      <p>์ด ๋ฌธ์žฅ์€ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„.</p>
    
  

5.3 ์ž์‹ ์š”์†Œ ์„ ํƒ์ž

์ž์‹ ์š”์†Œ ์„ ํƒ์ž๋Š” ์ง์ ‘์ ์ธ ์ž์‹์ธ ์š”์†Œ๋งŒ ์„ ํƒํ•ด.

๋ฌธ๋ฒ•:

    
      ๋ถ€๋ชจ > ์ž์‹ {
        ์†์„ฑ: ๊ฐ’;
        ์†์„ฑ: ๊ฐ’;
      }
    
  

์˜ˆ์‹œ:

CSS
    
      /* .container์˜ ์ง์ ‘์ ์ธ ์ž์‹์ธ <p>๋งŒ ์„ ํƒ */
      .container > p {
        color: green;
      }
    
  
HTML
    
      <div class="container">
        <p>์ด ๋ฌธ์žฅ์€ ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ผ.</p>
        <div class="wrapper">
          <p>์ด ๋ฌธ์žฅ์€ ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„, ์™œ๋ƒํ•˜๋ฉด .container์˜ ์ง์ ‘์ ์ธ ์ž์‹์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด์•ผ.</p>
        </div>
        <p>์ด ๋ฌธ์žฅ์€ ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ผ.</p>
      </div>
      <p>์ด ๋ฌธ์žฅ์€ ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„.</p>
    
  

5.4 ์ธ์ ‘ ํ˜•์ œ ์š”์†Œ ์„ ํƒ์ž

์ธ์ ‘ ํ˜•์ œ ์š”์†Œ ์„ ํƒ์ž๋Š” ์ง€์ •๋œ ์š”์†Œ ๋ฐ”๋กœ ๋‹ค์Œ์— ์˜ค๋Š” ์š”์†Œ๋ฅผ ์„ ํƒํ•ด, ๊ทธ๋ฆฌ๊ณ  ๋™์ผํ•œ ์ค‘์ฒฉ ๋ ˆ๋ฒจ์— ์žˆ์–ด์•ผ ํ•ด.

๋ฌธ๋ฒ•:

    
      ์ด์ „ + ๋‹ค์Œ {
        ์†์„ฑ: ๊ฐ’;
        ์†์„ฑ: ๊ฐ’;
      }
    
  
CSS
    
      /* <h1> ๋ฐ”๋กœ ๋‹ค์Œ์— ์˜ค๋Š” <p>๋ฅผ ์„ ํƒ */
      h1 + p {
        color: red;
      }
    
  
HTML
    
      <h1>์ œ๋ชฉ 1</h1>
      <p>์ด ๋ฌธ์žฅ์€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ผ, ์™œ๋ƒํ•˜๋ฉด "h1" ๋ฐ”๋กœ ๋’ค์— ์˜ค๊ธฐ ๋•Œ๋ฌธ์ด์•ผ.</p>
      <p>์ด ๋ฌธ์žฅ์€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„.</p>
    
  

5.5 ์ผ๋ฐ˜ ํ˜•์ œ ์š”์†Œ ์„ ํƒ์ž

์ผ๋ฐ˜ ํ˜•์ œ ์š”์†Œ ์„ ํƒ์ž๋Š” ์ง€์ •๋œ ์š”์†Œ ๋’ค์— ์˜ค๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ์„ ํƒํ•ด, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์š”์†Œ๋“ค์€ ๋™์ผํ•œ ์ค‘์ฒฉ ๋ ˆ๋ฒจ์— ์žˆ์–ด์•ผ ํ•ด.

๋ฌธ๋ฒ•:

    
      ์ด์ „ ~ ๋‹ค์Œ {
        ์†์„ฑ: ๊ฐ’;
        ์†์„ฑ: ๊ฐ’;
      }
    
  

์˜ˆ์‹œ:

CSS
    
      /* ๋™์ผํ•œ ์ค‘์ฒฉ ๋ ˆ๋ฒจ์—์„œ <h1> ๋’ค์— ์˜ค๋Š” ๋ชจ๋“  <p>๋ฅผ ์„ ํƒ */

      h1 ~ p {
        color: purple;
      }
    
  
HTML
    
      <h1>์ œ๋ชฉ 1</h1>
      <p>์ด ๋ฌธ์žฅ์€ ๋ณด๋ผ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ผ.</p>
      <p>์ด ๋ฌธ์žฅ๋„ ๋ณด๋ผ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ผ.</p>
      <div>
        <p>์ด ๋ฌธ์žฅ์€ ๋ณด๋ผ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„, ์™œ๋ƒํ•˜๋ฉด ๋‹ค๋ฅธ ์ค‘์ฒฉ ๋ ˆ๋ฒจ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์•ผ.</p>
      </div>
    
  
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION