1.미디어 삽입
HTML5 이전까지는 미디어를 재생하기 위해 브라우저에 적절한 플러그인 소프트웨어가 필요했다. 이것은 비표준 형식 데이터 때문인데 이러한 비표준형식 데이터로 만들어진 비표준 미디어을 포함하는 웹페이지는 브라우저에 따라 재생되지 않는 문제점이 있었다. 그래서 HTML5에서는 플러그인 없이 미디어를 재생할 수 있도록 미디어에 속하는 오디오와 비디오에 관한 태그를 표준화하였다.
물론 플래시 애니메이션과 같은 표준화하지 않은 미디어를 재생하기 위해서는 현재도 여전히 플로그인이 필요하다. 이런경우 다음과 같은 태그가 필요하다.
▲코딩
▲출력 결과
▶브라우저에 따라서 특정 타입의 비디오 파일만 인식할 수 있기 때문에 개발자는 하나의 비디오를 여러 타입으로 만들어두고 브라우저가 재생가능한 타입을 선택하도록 할 수 있다.
▶<video>태그 속성
width, height : 비디오가 재생될 브라우저 공간의 폭과 높이 지정. 생략되면 원본크기비디오 |
마임 타입 |
설명 |
MP4 |
video/mp4 |
H.264비디오와 AAC 오디오 코덱으로 인코딩된 MPEG4 파일 |
WebM |
video/webm |
VP8/VP9 비디오와 Vorbis 오디오 코덱으로 인코딩된 WebM파일 |
Ogg |
video/ogg |
Theora 비디오와 Vorbis 오디오 코덱으로 인코딩된 Ogg파일 |
1-2. 오디오 삽입<audio>
<audio>태그는 웹 페이지가 출력될 때 자동으로 제어버튼을 함께 출력하도록 지시하는 태그이다. 이것도 마찬가지로▲코딩
▲출력 결과
▶<audio>태그도 마찬가지로 <source>태그를 이용하면 mp3타입과 ogg타입 중 브라우저가 재생 가능한 타입을 선택하게 할 수있다.
▶HTML5에서 재생 가능한 오디오 타입
오디오 |
마임 타입 |
설명 |
MP3 |
audio/mpeg |
mp3로 인코딩된 오디오 파일 |
Wav |
audio/wav |
wave형식으로 인코딩된 오디오 파일 |
Ogg |
audio/ogg |
Vorbis 오디오 코덱으로 인코딩된 Ogg파일 |
2.웹 폼 만들기
웹 페이지를 통해 사용자 입력을 받는 폼을 웹폼 혹은 폼이라고 한다. HTML5에서는 폼을 만들기 위한 다양한 태그들을 제공하며 이 태그들을 폼 요소라고 부른다. 폼은 로그인, 등록, 검색, 예약, 쇼핑 등의 다양한 웹 서비스에서 사용자의 입력을 받기 위해 사용된다.
2-1. 간단한 로그인 폼 만들기
▲코딩
폼 요소들은 다음과 같이 <form>...</form>에 담는다.
<form>태그에서 name, method, action속성은 기본이다.
text는 default값이므로 생략가능하고 value는 옵션이다.
<input>은 입력창을 만드는 태그이다.
submit 값은 사용자가 폼 요소들에 입력한 내용을 모두 웹 서버로 전송한다.
▶name, method, action, enctype, target 속성
name : 폼의 이름을 지정하는 중요한 속성으로 자바스크립트에서 사용된다.
method : 폼 데이터를 웹 서버로 전송하는 형식을 지시하는 속성이다.
값 |
활용 |
특징 |
get |
검색, 글쓰기 등등 |
URL뒤에 텍스트가 나옴 |
post |
글쓰기, 수정 등등 |
URL뒤에 텍스트가 나오지 않음 |
action : 폼 데이터를 처리할 웹 서버 응용프로그램을 지정한다.
폼 요소 |
설명 |
<input type=""> |
한 줄 텍스트 입력 창 |
<input type=""> |
암호 입력을 위한 한줄 텍스트 입력 창 |
<input type=""> |
단순 버튼 |
<input type=""> |
웹 서버로 폼 데이터를 전송시키는 버튼 |
<input type=""> |
입력된 폼 데이터를 초기화시키는 버튼 |
<input type=""> |
이미지 버튼 |
<input type=""> |
체크박스와 라디오버튼 |
<select> |
드롭다운 리스트를 가진 콤보박스 |
<input type=""> |
년, 월, 일, 시간 등의 시간 정보 입력 창 |
<input type=""> |
스핀 버튼과 슬라이드바로 편리한 숫자 입력 창 |
<input type=""> |
색 입력을 쉽게 하는 컬러 다이얼로그 |
<input type=""> |
이메일, URL, 전화번호, 검색키워드 등 형식 검사 기능을 가진 텍스트 입력 창 |
<input type=""> |
로컬 컴퓨터의 파일을 선택하는 폼 요소 |
<button type="button|reset|submit"> |
단순 버튼, reset, submit 버튼 |
<textarea> |
여러 줄의 텍스트 입력 창 |
※폼 요소는 <form>태그 없이 사용 할 수 있는가?
폼 요소들은 <form>태그 없이 사용할 수도 있다. 이런 경우는 주로 웹 서버에 전송하지 않고 자바스크립트 코드에서 사용자의 입력을 받는 목적으로 사용한다.
▶텍스트 입력 태그 (<input type="text|password">, <textarea>)
①<input type="text" value="초기에 출력되는 문자열">
: 주소나 이름 등 한 줄 텍스트를 입력받는 태그
※속성
type
name : 속성 이름
maxlength : 문자 개수
size : 문자 개수
value : 초기 텍스트
②<input type="password" value="">
: 이 태그는 사용자가 입력하는 문자 대신 '*'등 다른 글자를 출력하여 다른 사람이 볼수 없게한다.
※속성
위와 같다.
③<textarea></textarea>
: 여러 줄의 텍스트를 입력받을 때 사용한다.
※속성▲코딩
<datalist>태그는 <input>태그의 list속성 값과 <datalist>의 id속성 값을 동일하게 주어 이 둘을 연결한다.
<option>태그는 데이터 항목 하나를 나타낸다.
▲출력 결과
①단순 버튼
②submit 버튼
③reset 버튼
④이미지 버튼
위 이미지들은 자바스크립트 코드가 있어야 활용가능하다.
<button>태그를 이용하여 이미지를 가진 submit버튼이나 reset버튼도 만들수 있다.
※<button>태그로 버튼 만들 때 주의
<button>의 디폴트 type은 submit이다. 많은 개발자들이 여기서 많은 오류를 범하고 찾지 못해 애타는 경우가 있다. 이런 문제를 피하려면 type속성을 button으로 명확히 지정하면 된다.
▶선택형 입력
체크박스, 라디오버튼, 콤보박스 목록을 보여주고, 목록에서 사용자가 선택하는 방식의 입력요소이다.
①체크박스만들기 <input type="checkbox">
▲코딩(예시)
<input>태그 앞에 한글들은 캡션이라고 하며 백앤드<input>태그 맨뒤 checked 속성은 초기에 선택 상태로 출력하는 기능
▲출력 결과
②라디오 버튼 만들기 <input type="radio">
라디오 버튼은 type의 값만 radio로 해주고 나머지 코딩입력은 같다. 하지만 이미지를 첨부한 라디오 버튼 출력은 다음과 같이 코딩한다.
▲코딩(예시)
▲결과 출력
③콤보박스 만들기 <select>
콤보박스는 드롭다운 목록을 보여주고 그 중 하나를 선택하는 폼 요소이다. <select>태그는 콤보박스 전체를 표현하고 <option>태그는 항목 하나를 표현한다.
▲코딩(예시)
selected속성을 사용하면 아래와 같이 선택된 상태로 출력이된다.
▲결과 출력
▲코딩(예시)
▲출력 결과
위 버튼을 클릭하면 자신이 원하는 색으로 언제든지 바꿀수 있다.
▶시간 정보 입력
※자바스크립트로 보다 질 높은 시간 정보 폼을 구축할 수 있다.
▶스핀버튼과 슬라이드바로 편리한 숫자 입력
아래 이미지에서 tpye뒤에 주로 쓰이는 속성이 min, max, step인데 이것은 스핀버튼과 슬라이드바를 조절할 때 증감 단위 값을 각각 지정하는 것이다.
▲코딩
▲출력 결과
▲코딩
▲출력 결과
▲코딩(예시)
▲출력 결과
'HTML' 카테고리의 다른 글
HTML / DOM요소는 어떻게 만들어지나 (0) | 2020.12.25 |
---|---|
HTML / 스크립트 태그 작성 방법 (0) | 2020.12.25 |
H3. 표, 하이퍼링크, 앵커, 파일다운로드 링크, 인라인프레임 (0) | 2020.03.05 |
H2. HTML의 기본 태그 살펴보기! (0) | 2020.03.05 |
H1. HTML과 CSS, J.S를 맛보기로 살짝 활용해 간략한 자기 소개 페이지 만들기! (0) | 2020.03.04 |