๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study/HTML | CSS

[05] ์ž…๋ ฅ ์–‘์‹ ์ž‘์„ฑํ•˜๊ธฐ

ํผ ์‚ฝ์ž…ํ•˜๊ธฐ

ํผ

  • ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ •๋ณด๋ฅผ ๋ฐ›์•„๋“ค์ด๊ธฐ ์œ„ํ•œ ํ˜•์‹(์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ํ˜•์‹)
  • ex) ๊ฒ€์ƒ‰์ฐฝ, ๋กœ๊ทธ์ธ ์ฐฝ(์•„์ด๋””, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์–ธ์–ด๋ณ€๊ฒฝ, ํ™•์ธ ๋ฒ„ํŠผ ๋“ฑ)
  • <form> ~ </from> ์‚ฌ์šฉ
  • ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ์—ญํ• ๋งŒ, ์„œ๋ฒ„์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์ง์ ‘ ์ฒ˜๋ฆฌ
  • action="์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„"

  • ํ•˜๋‚˜์˜ ํผ ์•ˆ์— ์—ฌ๋Ÿฌ ๊ตฌ์—ญ ๋‚˜๋ˆ„์–ด ํ‘œ์‹œ: <fieldset> ํƒœ๊ทธ ์‚ฌ์šฉ
  • <legend> ํƒœ๊ทธ๋Š” <fieldset> ํƒœ๊ทธ๋กœ ๋ฌถ์€ ๊ทธ๋ฃน์— ์ œ๋ชฉ์„ ๋ถ™์ผ ์ˆ˜ ์žˆ์Œ
<fieldset [์†์„ฑ="์†์„ฑ๊ฐ’"]></fieldset>

<fieldset>
	<legend>๊ทธ๋ฃน ์ด๋ฆ„</legend>
</fieldset>

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>์›น ํผ ์‚ฝ์ž…ํ•˜๊ธฐ</title>
</head>
<body>
    <form action="">
        <ul>
            <li>
                <label for="user-id">์•„์ด๋”” : </label>  <!--๋ ˆ์ด๋ธ”ํƒœ๊ทธ ๋”ฐ๋กœ ์‚ฌ์šฉ-->
                <input type="text">
            </li>
            <li>
                <label>๋น„๋ฐ€๋ฒˆํ˜ธ : <input type="password"></label>
            </li>
            <li>
                <input type="submit" value="๋กœ๊ทธ์ธ">    <!--๋กœ๊ทธ์ธ ๋ฒ„ํŠผ-->
            </li>
        </ul>
    </form>
</body>
</html>

  • <label> ํƒœ๊ทธ๋Š” <input> ํƒœ๊ทธ์™€ ๊ฐ™์€ ํผ ์š”์†Œ์— ๋ ˆ์ด๋ธ”์„ ๋ถ™์ผ ๋•Œ ์‚ฌ์šฉ

 

์˜ˆ์ œ2 (๋”๋ณด๊ธฐ ํด๋ฆญ)

 

๋”๋ณด๊ธฐ
<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>๋ ˆ๋“œํ–ฅ ์ฃผ๋ฌธํ•˜๊ธฐ</title>
</head>
<body>
  <h1>๋ ˆ๋“œํ–ฅ ์ฃผ๋ฌธํ•˜๊ธฐ</h1>
  <form>
    <fieldset>
      <legend>์ƒํ’ˆ ์„ ํƒ</legend>
      <p><b>์ฃผ๋ฌธํ•  ์ƒํ’ˆ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”.</b></p>
      <ul>
        <li>
          <label><input type="checkbox" value="s_3">์„ ๋ฌผ์šฉ 3kg</label>
          <input type="number">๊ฐœ
        </li>
        <li>
          <label><input type="checkbox" value="s_5">์„ ๋ฌผ์šฉ 5kg</label>
          <input type="number">๊ฐœ
        </li>
        <li>
          <label><input type="checkbox" value="f_3">๊ฐ€์ •์šฉ 3kg</label>
          <input type="number">๊ฐœ
        </li>
        <li>
          <label><input type="checkbox" value="f_5">๊ฐ€์ •์šฉ 5kg</label>
          <input type="number">๊ฐœ
        </li>
      </ul>   
      <p><b>ํฌ์žฅ ์„ ํƒ</b></p>
      <ul>
        <li><label><input type="radio" name="gift" value="yes" >์„ ๋ฌผ ํฌ์žฅ</label></li>
        <li><label><input type="radio" name="gift" value="no">์„ ๋ฌผ ํฌ์žฅ ์•ˆ ํ•จ</label></li>
      </ul>     
    </fieldset>
    <fieldset>
      <legend>๋ฐฐ์†ก ์ •๋ณด</legend>
      <ul>
        <li>
          <label for="user-name">์ด๋ฆ„ </label>
          <input type="text" id="user-name">
        </li>
        <li>
          <label for="addr">๋ฐฐ์†ก ์ฃผ์†Œ</label>
          <input type="text" id="addr">
        </li>
        <li>
          <label for="mail">๋ฉ”์ผ ์ฃผ์†Œ</label>
          <input type="email" id="mail">
        </li>        
        <li>
          <label for="phone">์—ฐ๋ฝ์ฒ˜</label>
          <input type="tel" id="phone">
        </li>
      </ul>  
    </fieldset>      
  </form>
</body>
</html>โ€‹
<label><input type="checkbox" value="s_3">์„ ๋ฌผ์šฉ 3kg</label>
<input type="number">๊ฐœ
 
์—์„œ value๊ฐ€ ์‹ค์ œ ์ „์†ก๋˜๋Š” ์ฝ”๋“œ.
์„ ๋ฌผ์šฉ 3kg์„ ์„ ํƒํ–ˆ์œผ๋‹ˆ vlaue="s_3" ์ฆ‰, 3์ด ์ „์†ก๋จ

<li><label><input type="radio" name="gift" value="yes" >์„ ๋ฌผ ํฌ์žฅ</label></li>
<li><label><input type="radio" name="gift" value="no">์„ ๋ฌผ ํฌ์žฅ ์•ˆ ํ•จ</label></li>
     
name์„ ๊ฐ™๊ฒŒ ํ•ด์ค˜์•ผ ํ•˜๋‚˜๋งŒ ๊ฐ’์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ(๊ฐ™์€ ๊ทธ๋ฃน, ๋ฌถ์Œ ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ค˜์•ผํ•จ)

 

์ˆซ์ž ์ž…๋ ฅํ•˜๊ธฐ

<!--์ƒ๋žต-->
<body>
  <h1>๋ ˆ๋“œํ–ฅ ์ฃผ๋ฌธํ•˜๊ธฐ</h1>
  <form>
    <fieldset>
      <legend>์ƒํ’ˆ ์„ ํƒ</legend>
      <p><b>์ฃผ๋ฌธํ•  ์ƒํ’ˆ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”.</b></p>
      <ul>
        <li>
          <label><input type="checkbox" value="s_3">์„ ๋ฌผ์šฉ 3kg</label>
          <input type="number" min="0" max="5">๊ฐœ (์ตœ๋Œ€ 5๊ฐœ)
        </li>
        <li>
          <label><input type="checkbox" value="s_5">์„ ๋ฌผ์šฉ 5kg</label>
          <input type="number" min="0" max="3" value="1">๊ฐœ (์ตœ๋Œ€ 3๊ฐœ)
        </li>
      </ul>
      <ul>
        <li>
          <label><input type="checkbox" value="f_3">๊ฐ€์ •์šฉ 3kg</label>
          <input type="range" min="0" max="5">๊ฐœ (์ตœ๋Œ€ 5๊ฐœ)
        </li>
        <li>
          <label><input type="checkbox" value="f_5">๊ฐ€์ •์šฉ 5kg</label>
          <input type="range" min="0" max="3" value="1">๊ฐœ (์ตœ๋Œ€ 3๊ฐœ)
        </li>
      </ul>      
      <p><b>ํฌ์žฅ ์„ ํƒ</b></p>
      <ul>
        <li><label><input type="radio" name="gift" value="yes">์„ ๋ฌผ ํฌ์žฅ</label></li>
        <li><label><input type="radio" name="gift" value="no">์„ ๋ฌผ ํฌ์žฅ ์•ˆ ํ•จ</label></li>
      </ul>    
    </fieldset>
<!--์ƒ๋žต-->
  • number : ํ™”์‚ดํ‘œ ์œ„, ์•„๋ž˜๋กœ ๊ฐ’ ์ง€์ •
  • range : ์Šฌ๋ผ์ด๋“œ ๋ง‰๋Œ€๋กœ ๊ฐ’ ์ง€์ •
  • min, max : ๊ฐ’ ์ตœ์†Œ, ์ตœ๋Œ€ ์ง€์ •
  • value = "์ˆซ์ž" : ๊ฐ’ ํ‘œ์‹œํ•˜๋Š” ์ดˆ๊ธฐ๊ฐ’ ์ง€์ •

 

๋‚ ์งœ/์‹œ๊ฐ„ ์ง€์ •ํ•˜๊ธฐ, ๋ฒ”์œ„ ์ œํ•œํ•˜๊ธฐ

<body>
  <form>
    <h1>๋‚ ์งœ ์ง€์ •ํ•˜๊ธฐ</h1>
    <input type="date">
    <input type="month">
    <input type="week">
    <hr>
    <h1>์‹œ๊ฐ„ ์ง€์ •ํ•˜๊ธฐ</h1>
    <input type="time">
    <input type="datetime-local">
    <hr>
    <h1>๋ฒ”์œ„ ์ œํ•œํ•˜๊ธฐ</h1>
    <input type="date" min="2020-02-01" max="2020-02-15">
    <input type="time">
  </form>
</body>

  • type ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์“ธ ์ˆ˜ ์žˆ์Œ
    Can I use... Support tables for HTML5, CSS3, etc : ํƒœ๊ทธ ์ข…๋ฅ˜ ์•Œ ์ˆ˜ ์žˆ์Œ(์ดˆ๋ก: ์ง€์›, ํ™ฉ๊ฐˆ์ƒ‰: ๋ถ€๋ถ„์ง€์›, ๋นจ๊ฐ•: ์ง€์›X)

 

type="hidden"

ํžˆ๋“  ํ•„๋“œ: ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ๋ณด์ด์ง€ ์•Š์•„ ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ ์ˆ˜ ์—†์ง€๋งŒ, ์ž…๋ ฅํ•œ ์ •๋ณด์™€ ํ•จ๊ป˜ ํžˆ๋“  ํ•„๋“œ์˜ ๋‚ด์šฉ์ด ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ง

 

input ํƒœ๊ทธ์˜ ์ฃผ์š” ์†์„ฑ

<!--์ƒ๋žต-->
<body>
  <h1>๋ ˆ๋“œํ–ฅ ์ฃผ๋ฌธํ•˜๊ธฐ</h1>
  <form>
    <fieldset>
      <legend>๋ฐฐ์†ก ์ •๋ณด</legend>
      <ul id="shipping">
        <li>
          <label for="prod">์ฃผ๋ฌธ ์ƒํ’ˆ</label>
          <input type="text" id="prod" value="์ƒํ’ˆ์šฉ 3KG" readonly>
        </li>
        <li>
          <label for="user-name">์ด๋ฆ„ </label>
          <input type="text" id="user-name" autofocus required>
        </li>
        <li>
          <label for="addr">๋ฐฐ์†ก ์ฃผ์†Œ</label> 
          <input type="text" id="addr" required>
        </li>
        <li>
          <label for="mail">์ด๋ฉ”์ผ</label>
          <input type="email" id="mail">
        </li>        
        <li>
          <label for="phone">์—ฐ๋ฝ์ฒ˜</label>
          <input type="tel" id="phone" placeholder="ํ•˜์ดํ”ˆ ๋นผ๊ณ  ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”.(01012345678)" required>
        </li>
        <li>
          <label for="d-day">๋ฐฐ์†ก ์ง€์ •</label>
          <input type="date" id="d-day"> <small>(์ฃผ๋ฌธ์ผ๋กœ๋ถ€ํ„ฐ ์ตœ์†Œ 3์ผ ์ดํ›„)</small>
        </li>        
      </ul>  
    </fieldset>
    <div>
      <input type="submit" value="์ฃผ๋ฌธํ•˜๊ธฐ"> 
      <input type="reset" value="์ทจ์†Œํ•˜๊ธฐ">
    </div>        
  </form>
</body>
<!--์ƒ๋žต-->
  • required ์†์„ฑ: ์ค‘์š”ํ•œ ํ•„๋“œ(ํ•„์ˆ˜ ํ•„๋“œ)๋ผ๊ณ  ์•Œ๋ ค์คŒ
  • readonly ์†์„ฑ: ํ…์ŠคํŠธ ํ•„๋“œ์— ์žˆ์ง€๋งŒ ์ง€์šฐ์ง€ ๋ชปํ•˜๊ฒŒ ๊ณ ์ •(์ฝ๊ธฐ ์ „์šฉ ํ•„๋“œ)
  • autofocus ์†์„ฑ: ์ž๋™์œผ๋กœ ํฌ์ปค์Šค ๋งž์ถฐ ์ปค์„œ ๊นœ๋นก์ž„

 

<textarea id="memo" cols="40" rows="4"></textarea>
  • <textarea> ํƒœ๊ทธ: ์—ฌ๋Ÿฌ ์ค„ ์ž…๋ ฅ
  • ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ํ–‰(rows), ๋ ฌ(cols)(๋Œ€๋žต ์˜๋ฌธ40, ํ•œ๊ธ€20์ •๋„(๊ธ€๊ผด, ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง))

 

  <select>
	<option value="special_3" selected>์„ ๋ฌผ์šฉ 3kg</option>
	<option value="special_5">์„ ๋ฌผ์šฉ 5kg</option>
	<option value="family_3">๊ฐ€์ •์šฉ 3kg</option>
	<option value="family_5">๊ฐ€์ •์šฉ 5kg</option>
  </select>

  • <select> ํƒœ๊ทธ: ํ•ญ๋ชฉ ์„ ํƒ
  • selected ์†์„ฑ: ๊ธฐ๋ณธ ์ง€์ •
  • ์„ ํƒํ•˜๋ฉด value ๊ฐ’์ด ์„œ๋ฒ„๋กœ ๋„˜์–ด๊ฐ€(value ์†์„ฑ ๊ฐ’)

 

 

 

Do it! HTML+CSS+์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์›น ํ‘œ์ค€์˜ ์ •์„

์†Œ์ŠคํŒŒ์ผ: http://www.easyspub.co.kr/30_Menu/DataList/PUB#2