[HTML/CSS] ๐Ÿ“š ํผ ๊ด€๋ จ ์š”์†Œ

pyeonneยท2022๋…„ 6์›” 8์ผ
0
post-thumbnail

๐Ÿ“‹ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ

๐Ÿ“Œ action, method

  • form ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋‚˜ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, action ์†์„ฑ์— ๊ทธ ์ฃผ์†Œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.
  • GET ๋ฉ”์„œ๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ์ฃผ์†Œ์ฐฝ์— ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๋“ค์€ GET ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • POST ๋ฉ”์„œ๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ์ฃผ์†Œ์ฐฝ์— ๋ณด์—ฌ์ฃผ์ง€ ์•Š์•„์„œ ๋Œ€๋ถ€๋ถ„ form ํƒœ๊ทธ๋กœ ์ •๋ณด๋ฅผ ์ „์†กํ•  ๋•Œ POST ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“Œ label, input

<form action="" method="GET">
  <div>
    <label for="food">์Œ์‹ ์ด๋ฆ„ :</label>
    <input type="text" name="food" id="food">
  </div>
  
  <div>
    <label for="color">์ƒ‰๊น” :
      <input type="text" name="color">
    </label>
  </div>
</form>
  • label ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•ด input ์š”์†Œ๋ฅผ ๋ผ๋ฒจ๋งํ•˜๋ฉฐ, ์ •ํ™•ํ•˜๊ฒŒ ๋ผ๋ฒจ๋งํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ž…์žฅ์ด๋‚˜ ์›น ์ ‘๊ทผ์„ฑ, ์‹œ๋งจํ‹ฑ์ ์ธ ์˜์—ญ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.
  • input ์š”์†Œ์˜ name ์†์„ฑ์€ ์„œ๋ฒ„์— ์ „์†กํ•  ๋•Œ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•จ์ด๊ณ , id ์†์„ฑ์€ ์ „์ฒด ๋ฌธ์„œ์—์„œ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ๊ทธ๋ž˜์„œ name ์†์„ฑ๊ณผ id ์†์„ฑ ๊ฐ’์ด ๊ฐ™์„ ํ•„์š”๋Š” ์—†๋‹ค.
  • label ์š”์†Œ์˜ for ์†์„ฑ ๊ฐ’๊ณผ input ์š”์†Œ์˜ id ์†์„ฑ ๊ฐ’์ด ๊ฐ™์€ ์š”์†Œ๋ผ๋ฆฌ ์ง์„ ์ด๋ฃฌ๋‹ค.
  • input ์š”์†Œ์˜ name ์†์„ฑ ๊ฐ’์€ ํ•˜๋‚˜์˜ ๋ฌธ์„œ ์•ˆ์—์„œ ๊ฒน์น˜๋„ ๋˜์ง€๋งŒ, id ์†์„ฑ ๊ฐ’์€ ๊ฒน์น˜๋ฉด ์•ˆ ๋œ๋‹ค.
  • label ์š”์†Œ์™€ input ์š”์†Œ๊ฐ€ ํ˜•์ œ ๊ด€๊ณ„๋ผ๋ฉด for ์†์„ฑ๊ณผ id ์†์„ฑ์€ ํ•„์ˆ˜๋กœ ์ง€์ •ํ•ด์•ผ ํ•˜์ง€๋งŒ, ๋ถ€๋ชจ ์ž์‹ ๊ด€๊ณ„๋ผ๋ฉด ์ƒ๋žตํ•ด๋„ ๊ดœ์ฐฎ๋‹ค.
  • ์›น ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•ด label ์š”์†Œ์˜ ๋‚ด์šฉ์€ input ์š”์†Œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๐Ÿ“Œ fieldset, legend

  • fieldset ์š”์†Œ์˜ ์ฒซ ๋ฒˆ์งธ ์ž์‹ ์š”์†Œ๋Š” ๋ฌด์กฐ๊ฑด legend ์š”์†Œ์—ฌ์•ผ ํ•œ๋‹ค.
  • disabled ์†์„ฑ์„ ํ†ตํ•ด fieldset ์š”์†Œ ์•ˆ์— ์žˆ๋Š” input ์š”์†Œ๋ฅผ ๋ชจ๋‘ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“Œ type

  • input ์š”์†Œ์˜ ์œ ํ˜•์— ๋งž๊ฒŒ type ์†์„ฑ์„ ์ž‘์„ฑํ•˜๋ฉด ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ ํƒ์ฐฝ์„ ๋ณด์—ฌ์ค€๋‹ค.
  • radio ์œ ํ˜•์˜ input๋“ค์˜ name ์†์„ฑ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ์ทจ๊ธ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ค‘ ์„ ํƒ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿ“Œ name, placeholder, autocomplete, required

  • placeholder ์†์„ฑ์„ ์‚ฌ์šฉํ•ด input ์š”์†Œ์— ๊ฐ’์„ ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ํžŒํŠธ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
  • autocomplete ์†์„ฑ์€ ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ์œผ๋กœ, ์ด์ „์— ์ž‘์„ฑํ–ˆ๋˜ ๋ฐ์ดํ„ฐ ์œ„์ฃผ๋กœ ํ›„๋ณด๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
  • required์ธ input ์š”์†Œ์˜ ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ์ œ์ถœํ•  ์ˆ˜ ์—†๋‹ค.

๐Ÿ“Œ disabled, readonly

  • disabled ์†์„ฑ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ๋ชปํ•˜๊ณ , ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜์ง€๋„ ๋ชปํ•œ๋‹ค.
  • readonly ์†์„ฑ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ, ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณดํ†ต ๊ธฐ๋ณธ ๊ฐ’์„ ์„ค์ •ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •์„ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“Œ button

<form action="" method="GET">
  <input type="button" value="Add to favorites">
  <button type="button">โœŒ</button>
</form>
  • input ์š”์†Œ์™€ ๋ฐ˜๋Œ€๋กœ button ์š”์†Œ๋Š” ์ž์‹ ์š”์†Œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๊ธฐ ํ›จ์”ฌ ์‰ฝ๋‹ค.

๐Ÿ“Œ select, option, optgroup

  • option ์š”์†Œ์˜ ๋‚ด์šฉ์€ ์‚ฌ์šฉ์ž์˜ UI ์ธก๋ฉด์—์„œ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๊ณ , value ์†์„ฑ์„ ํ†ตํ•ด ์„œ๋ฒ„์— ์ „์†กํ•  ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ option ์š”์†Œ๋ฅผ ์•ˆ๋‚ด ๋ฌธ๊ตฌ๋กœ์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด value ์†์„ฑ ๊ฐ’์„ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. (์•ˆ๋‚ด ๋ฌธ๊ตฌ ์„ ํƒ ์‹œ ์ œ์ถœ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ)

๐Ÿ“Œ list, datalist

<label for="myBrowser">์•„๋ž˜ ๋ชฉ๋ก์—์„œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์„ ํƒํ•˜์„ธ์š”:</label>
<input list="browsers" id="myBrowser" name="myBrowser" />
<datalist id="browsers">
  <option value="Chrome">
  <option value="Firefox">
  <option value="Internet Explorer">
  <option value="Opera">
  <option value="Safari">
  <option value="Microsoft Edge">
</datalist>
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ์ถ”์ฒœํ•˜๋Š” ์„ ํƒ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด select ์š”์†Œ๋ณด๋‹ค datalist ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๐Ÿ“Œ textarea

  • textarea ์š”์†Œ์˜ ๋‚ด๋ถ€๋Š” pre ์š”์†Œ์ฒ˜๋Ÿผ ์ž‘๋™ํ•œ๋‹ค.
  • textarea ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ๋•Œ๋Š” CSS์˜ width์™€ height ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • ๋ณดํ†ต rows ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ๋ช‡์ค„๊นŒ์ง€ ๋ณด์—ฌ์ค„์ง€ ์ง€์ •ํ•œ๋‹ค.

๐Ÿง ๊ถ๊ธˆํ•œ ๋‚ด์šฉ & ๋ถ€์กฑํ•œ ๋‚ด์šฉ

  • input ์š”์†Œ์˜ ์œ ํ˜• ์ค‘์— reset์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ฒ˜์Œ ์•Œ์•˜๋Š”๋ฐ, ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ ํ˜€ ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿผ ์ดˆ๊ธฐํ™” ๋ฒ„ํŠผ์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ?

๐ŸŒ ์ˆ˜๊ฐ•ํ•œ ์†Œ๊ฐ & ๋– ์˜ค๋ฅด๋Š” ์ƒ๊ฐ

  • input ์š”์†Œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ๋“ค์ด ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์•„์„œ ๋ชจ๋‘ ์™ธ์šฐ๋Š” ๊ฒƒ์€ ํž˜๋“ค ๊ฒƒ ๊ฐ™๋‹ค. ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค MDN ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•ด์„œ ์‚ฌ์šฉํ•˜์ž!

๐Ÿ”— ์ฐธ๊ณ  ๋ž˜ํผ๋Ÿฐ์Šค

profile
๊ฑด๊ฐ•ํ•œ ๋ชธ๊ณผ ๋งˆ์Œ์—์„œ ๊ฑด๊ฐ•ํ•œ ์ฝ”๋“œ๊ฐ€ ํƒœ์–ด๋‚œ๋‹ค !

0๊ฐœ์˜ ๋Œ“๊ธ€