CodeGym /์ž๋ฐ” ์ฝ”์Šค /Frontend SELF KO /์š”์†Œ์˜ ์ƒํƒœ ์Šคํƒ€์ผ๋ง

์š”์†Œ์˜ ์ƒํƒœ ์Šคํƒ€์ผ๋ง

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

10.1 ๊ฐ€์ƒ ํด๋ž˜์Šค :focus

CSS ๊ฐ€์ƒ ํด๋ž˜์Šค๋Š” ์š”์†Œ๋ฅผ ๋‹ค์–‘ํ•œ ์ƒํƒœ์—์„œ ์Šคํƒ€์ผ๋ง ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ‹์ง„ ๋„๊ตฌ์•ผ. ์ด๊ฑธ ํ™œ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž์™€ ์›น ํŽ˜์ด์ง€์˜ ํผ ๋ฐ ๋‹ค๋ฅธ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์š”์†Œ๋“ค๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์–ด. ๊ฐ€์ƒ ํด๋ž˜์Šค :focus, :hover, :disabled, ๊ทธ๋ฆฌ๊ณ  :checked๋ฅผ ์ž…๋ ฅ ์š”์†Œ (<input>) ์Šคํƒ€์ผ๋ง์— ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž.

:focus ๊ฐ€์ƒ ํด๋ž˜์Šค๋Š” ํผ ์š”์†Œ๊ฐ€ ํฌ์ปค์Šค๋ฅผ ๋ฐ›์„ ๋•Œ ์ ์šฉ๋ผ. ๋ณดํ†ต ์š”์†Œ๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ Tab ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋™ํ•  ๋•Œ ๋ฐœ์ƒํ•˜์ง€. ํฌ์ปค์Šค๋œ ์š”์†Œ ์Šคํƒ€์ผ๋ง์€ ์‚ฌ์šฉ์ž๊ฐ€ ํผ์—์„œ ๋” ์ž˜ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค˜.

์‚ฌ์šฉ ์˜ˆ์‹œ:

CSS
    
      input:focus {
        border-color: #4A90E2;
        box-shadow: 0 0 5px rgba(74, 144, 226, 0.5);
        outline: none;
      }
    
  
HTML
    
      <form>
        <label for="name">์ด๋ฆ„:</label>
        <input type="text" id="name" name="name">
      </form>
    
  

์„ค๋ช…

  • border-color: ์š”์†Œ๊ฐ€ ํฌ์ปค์Šค๋ฅผ ๋ฐ›์„ ๋•Œ ํ…Œ๋‘๋ฆฌ ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด
  • box-shadow: ์š”์†Œ ์ฃผ์œ„์— ๊ทธ๋ฆผ์ž ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ฐ•์กฐํ•ด์ค˜
  • outline: ๊ธฐ๋ณธ ๋ธŒ๋ผ์šฐ์ € ํ…Œ๋‘๋ฆฌ๋ฅผ ์—†์• ๊ณ  ์ปค์Šคํ…€ ์Šคํƒ€์ผ๋กœ ๋ฐ”๊ฟ”์ค˜

10.2 ๊ฐ€์ƒ ํด๋ž˜์Šค :hover

:hover ๊ฐ€์ƒ ํด๋ž˜์Šค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์†Œ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆด ๋•Œ ์ ์šฉ๋ผ. ์ด๊ฑด ์š”์†Œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ๋•Œ ์‹œ๊ฐ์  ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ด.

์‚ฌ์šฉ ์˜ˆ์‹œ:

CSS
    
      input:hover {
        border-color: #50E3C2;
        background-color: #F0F8FF;
      }
    
  
HTML
    
      <form>
        <label for="email">์ด๋ฉ”์ผ:</label>
        <input type="email" id="email" name="email">
      </form>
    
  

์„ค๋ช…

  • border-color: ์š”์†Œ ์œ„์— ์ปค์„œ๊ฐ€ ์žˆ์„ ๋•Œ ํ…Œ๋‘๋ฆฌ ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด
  • background-color: ์ปค์„œ๊ฐ€ ์žˆ์„ ๋•Œ ์š”์†Œ์˜ ๋ฐฐ๊ฒฝ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด์ค˜

10.3 ๊ฐ€์ƒ ํด๋ž˜์Šค :disabled

:disabled ๊ฐ€์ƒ ํด๋ž˜์Šค๋Š” ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์—†๋Š” ํผ ์š”์†Œ์— ์ ์šฉ๋ผ. ์ด๊ฑด ์‚ฌ์šฉ์ž๊ฐ€ ์š”์†Œ๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋๋‹ค๋Š” ๊ฑธ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ผ.

์‚ฌ์šฉ ์˜ˆ์‹œ:

CSS
    
      input:disabled {
        background-color: #E0E0E0;
        color: #A0A0A0;
        cursor: not-allowed;
      }
    
  
HTML
    
      <form>
        <label for="username">์‚ฌ์šฉ์ž ์ด๋ฆ„:</label>
        <input type="text" id="username" name="username" disabled>
      </form>
    
  

์„ค๋ช…

  • background-color: ๋น„ํ™œ์„ฑํ™”๋œ ์š”์†Œ์˜ ๋ฐฐ๊ฒฝ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด ๋น„ํ™œ์„ฑํ™” ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด
  • color: ๋น„ํ™œ์„ฑํ™”๋œ ์š”์†Œ ์•ˆ์˜ ํ…์ŠคํŠธ ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด
  • cursor: "not-allowed" ์ƒํƒœ๋กœ ์ปค์„œ๋ฅผ ์„ค์ •ํ•ด ์š”์†Œ๊ฐ€ ์‚ฌ์šฉ ๋ถˆ๊ฐ€์ž„์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์ค˜

10.4 ๊ฐ€์ƒ ํด๋ž˜์Šค :checked

:checked ๊ฐ€์ƒ ํด๋ž˜์Šค๋Š” checkbox์™€ radio ํƒ€์ž…์—์„œ ์„ ํƒ๋œ ์ƒํƒœ์— ์žˆ์„ ๋•Œ ์ ์šฉ๋ผ. ์ด๊ฑด ์„ ํƒ๋œ ์š”์†Œ๋ฅผ ์Šคํƒ€์ผ๋งํ•ด์„œ ๋” ๋ˆˆ์— ๋„๊ฒŒ ๋งŒ๋“ค์–ด ์ค˜.

์‚ฌ์šฉ ์˜ˆ์‹œ:

CSS
    
      input[type="checkbox"]:checked,
      input[type="radio"]:checked {
        background-color: #4A90E2;
        border-color: #4A90E2;
      }
    
  
HTML
    
      <form>
        <label>
          <input type="checkbox" name="option" checked>
          ์˜ต์…˜ 1
        </label>
        <label>
          <input type="checkbox" name="option">
          ์˜ต์…˜ 2
        </label>
        <label>
          <input type="radio" name="choice" checked>
          ์„ ํƒ 1
        </label>
        <label>
          <input type="radio" name="choice">
          ์„ ํƒ 2
        </label>
      </form>
    
  

์„ค๋ช…

  • background-color: ์„ ํƒ๋œ ์š”์†Œ์˜ ๋ฐฐ๊ฒฝ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด
  • border-color: ์„ ํƒ๋œ ์š”์†Œ์˜ ํ…Œ๋‘๋ฆฌ ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด์ค˜
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION