개발블로그
Published 2021. 2. 19. 03:41
HTML 표 컨텐츠 Front-End

<table>, <tr>, <th>, <td>

데이터 표(table)의 행(줄, tr), 열(칸, th(제목), td) 생성

테이블 <= 기본적으로 블록요소

 

<th>

머리글 칸 지정

 

속성 의미 기본값
abbr 열에 대한 간단한 설명    
headers 다른 th부분과 연결 되어져 있는 내용이라면 해당 th의 id 속성 값과 연결해서 사용    
colspan 확장하려는(병합) 열의 수   1 (열까지 병합)
rowspan 확장하려는(병합)  행의 수   1
scope 자신이 누구의 머리글 칸인지 명시 col : 자신의 열
colgroup : 모든 열
row : 자신의 행
rowgroup : 모든 행
auto
auto

 

<td>

일반 칸 지정

 

<caption>

표의 제목 설정

 

- 열리는 table 태그 바로 다음에 작성해야 함

- <table>당 하나의 <caption>만 사용 가능

 

<colgroup>, <col>

표의 열들을 공통적으로 정의하는 컬럼(col)과 그 집합(colgroup)

 

속성 의미 기본값
span 연속되는 열 수  숫자(Number) 1

 

<thead>, <tbody>, <tfoot>

표의 머리글(thead), 본문(tbody), 바닥글(tfoot) 지정

 

- 기본적으로 테이블 레이아웃에 영향을 주지 않음(의미만 가짐)

 

<form>

여러 입력 양식들의 정보를 form으로 랩핑해 특정 주소로 전송

웹 서버에 정보를 제출하기 위한 양식 범위를 정의

블럭요소

  • form이 다른 form을 자식 요소로 포함할 수 없음
속성 의미 기본값
action 전송할 정보 처리할 웹페이지의 URL(제출URL) URL  
autocomplete 사용자가 이전에 입력한 값으로 자동 완성 기능 사용할 것인지 여부 on, off on
method 서버로 전송할 HTTP 방식 GET, POST GET
name 고유한 양식의 이름(필수X)    
novalidate 서버로 전송시 양식 데이터의 유효성 검사하지 않도록 지정 boolean  
target 서버로 전송 후 응답받을 방식 지정(현재 탭 or 새로운 페이지) _self, _blank _self
  • method에 GET 사용시 주소창에 그대로 노출되므로 보안에 좋지 않음 -> POST 사용
  • POST 사용시 form data(양식 데이터)에서 확인됨 -> 완벽하게 숨길 수 없어서 암호화 해서 전송함

 

<input />

사용자에게 입력받을 데이터 양식

빈태그

속성 의미 기본값 특징
autocomplete 사용자가 이전에 입력한 값으로 자동 완성 기능 사용할 것인지 여부 on, off on  
autofocus 페이지가 로드될 때 자동으로 포커스 boolean   문서 내 고유해야 함
checked 양식이 선택되었음 표시 boolean   type 속성 값이 radio, checkbox인 경우만
form <form>의 id 속성값     해당 <form>의 후손이 아닐 경우만
 name 양식의 이름 _self, _blank _self  
type 입력 받을 데이터의 종료 button, checkbox, file, text 등등 text  
  • autocomplete는 input 태그 하나에서만 적용됨
  • form 속성은 form 태그 밖에서 작성된 경우에도 연결해서 쓸 수 있음 (form 태그에 id 이용)
  • 양식의 이름(name)에 따라서 서버에 전송될 때 데이터가 가지는 이름 지정됨
  • 서버에 전송하기 위해서 id 사용
  • form 안에 input type=image를 넣으면 image 클릭시 action에 적은 url 페이지로 이동 (제출 버튼으로 활용 가능)

 

 

<label>

라벨 가능 요소(labelable)의 제목(Caption)

  • for 속성으로 라벨 가능 요소를 참조하거나 콘텐츠로 포함.
  • 라벨 가능 요소 : <button>, <input>, <progress>, <select>, <textarea>
        <!--라벨 가능 요소를 참조-->
        <input type="checkbox" id="user-agreement" />
        <label for="user-agreement">동의하십니까?</label>

        <!--라벨 가능 요소를 포함-->
        <label><input type="checkbox" />동의하십니까?</label>
  • 참조하는 경우 for를 제거하면 동의하십니까?의 텍스트를 클릭해도 체크박스가 체크되지 않음
속성 의미
for 참조할 라벨 가능 요소(input)의 id 속성 값

 

<button>

 

선택 가능한 버튼 지정 - JS붙여서 사용

인라인블럭요소

        <button onclick="doit()">클릭하세요!</button>

        <script>
            function doit() {
                alert('클릭했습니다!');
            }
        </script>

 

<textarea>

 

여러 줄의 일반 텍스트 양식

속성 의미 기본값
rows 양식의 줄 수 숫자(number) 2
  • placeholder을 자주 씀

<fieldset>, <legend>

 

같은 목적의 양식을 그룹화(<filedset>)하여 제목(<legend>)을 지정

 

<fieldset>

 

같은 목적의 양식을 그룹화

속성 의미
disabled 그룹 내 모든 양식 요소를 비활성화 불린(boolean)

 

<select>, <datalist>, <optgroup>, <option>

 

옵션(<optgroup>, <option>)의 선택 메뉴(<select>)나 자동완성(<datalist>)을 제공

 

<select>

 

옵션 선택하는 메뉴

 

속성 의미 기본값
multiple 다중 선택 여부 불린(boolean)  
size 한 번에 볼 수 있는 행의 개수 숫자(number) 0(1과 같음)

 

<optgroup>

 

<option>을 그룹화

속성 의미
label (필수) 옵션 그룹의 이름  

 

<option>

 

 선택 메뉴(<select>)나 자동완성(<datalist>)에서 사용될 업션

  • 선택적 빈 태그로 사용 가능
속성 의미 특징
label 표시될 옵션의 제목   생략되면 포함된 텍스트를 표시
selected 옵션이 선택되었음을 표시 불린(boolean)  
value 양식으로 제출될 값   생략되면 포함된 텍스트를 값으로 사용

 

<datalist>

 

<input>에 미리 정의된 옵션을 지정해 자동완성(Autocomplete) 기능 제공하는데 사용

  • <input>의 list 속성 바인딩
  • <option>을 포함하여 정의된 옵션 지정
    <input type="text" list="fruits">

    <datalist id="fruits">
        <option label="Apple" value="Apple"></option>
        <option>Orage</option>
        <option>Banana</option>
        <option>Mango</option>
        <option>Pineapple</option>
    </datalist>
  • datalist의 id값과 input의 list값이 동일해야함
  • JS없이도 자동완성 기능을 만들 수 있다

 

<progress>

 

작업의 완료 진행율 표시(=로딩바)

속성 의미 특징
max 작업의 총량 숫자(number)  
value 작업의 진행량 숫자(number) max 속성 생략할 경우 0 ~ 1 사이의 숫자여야 함
  • value는 JS 이용해서 사용하는 편

<예제>

    <progress value="0" max="100">70%</progress>
    <script>
        const progress = document.querySelector('progress');
        const interval = setInterval(function () {
            progress.value += 10;
            if (progress.value >= 100) clearInterval(interval);            
        }, 1000)
    </script>

 

'Front-End' 카테고리의 다른 글

CSS 초기화  (0) 2021.02.21
HTML 전역 속성  (0) 2021.02.21
HTML 멀티 미디어  (0) 2021.01.26
HTML 인라인 텍스트  (0) 2021.01.24
HTML 콘텐츠 구분 / 문자 콘텐츠  (0) 2021.01.22
profile

개발블로그

@ORIONPOINT

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그