2014년 6월 29일 일요일

[HTML5] 폼 요소 (Form Elements)

HTML5의 새로운 폼 요소
  • <datalist>
  • <keygen>
  • <output>

<datalist> 요소
<datalist> 요소는 <input> 요소를 위해 미리 정의된 옵션들의 리스트를 설명한다.

<datalist> 요소는 <input> 요소의 "자동완성" 특징 제공을 위해 사용된다. 사용자들은 입력 자료의 미리 정의된 옵션의 드롭다운 리스트를 보게될 것이다.

<input>요소의 리스트 속성에 <datalist> 요소와 함께 묶어서 사용한다.

예)
<input> 요소는 <datalist>에 미리 정의된 값과 함께한다.
<input list="browsers">

<datalist id="browsers">
    <option value="Internet Explorer">
    <option value="Firefox">
    <option value="Chrome">
    <option value="Opera">
    <option value="Safari">
</datalist>
실행 화면



<keygen> 요소
<keygen> 요소의 목적은 사용자 인증에 보안된 방법을 제공하는 것이다.

<keygen> 태그는 폼에 키-패어 생성 필드를 특징하는 것이다.

폼이 전송될 때, 사적인 하나와 공적인 하나의 두 키가 생성된다.

사적인 키는 로컬에 저장되고 공적인 키는 서버로 전송한다. 공적 키는 나중에 사용자 인증을 위한 클라이언트 인증 생성에 사용되어진다.

예)
<form action="demo_keygen.asp" method="get">
Username: <input type="text" name="usr_name">
Encryption: <keygen name="security">
<input type="submit">
</form>
실행화면



<output> 요소
<output> 요소는 스크립트에 의해 동작된 것과 같은 계산된 결과를 재표현한다.

예)
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" id="a" value="50">100 +
<input type="number" id="b" value="50">=
<output name="x" for="a b"></output>
</form>
실행화면




2014년 6월 17일 화요일

[HTML5 Forms] HTML5 Input Types (입력 종류)

HTML5 새로운 입력 종류
HTML5는 폼을 위한 몇몇의 새로운 입력 종류가 있다. 이러한 새로운 특징은 더나은 입력 컨트롤과 실증을 허락한다.

브라우저에 따라 지원여부가 결정됨(IE9에서는 지원 안되나 크롬에서 지원됨)

  • color
    • 색을 포함하는 입력 필드를 위해 사용됨
컬러 입력 필드 보임

컬러 입력 필드 클릭시 팝업

컬러 입력 후 전송 시 전송된 값

  • date
    • 날짜를 선택하기 위한 필드
날짜 입력 필드

날짜 입력 필드 확장 및 선택

전송 후 결과값 확인

  • datetime
    • 날짜와 시간을 입력 (타임존 있음)  (IE9나 크롬에서 지원한암)
  • datetime-local
    • 날짜와 시간을 입력 (타임존 없음)
날짜와 시간을 입력할 수 있음

전송 후 결과값 확인

  • email
    • 이메일 입력.. (IE9나 크롬에서 지원한암)
  • month
    • 년과 월만을 입력하는 필드
월 선택

결과 확인

  • number
    • 최소값과 최대값을 설정하여 범위 안의 숫자만 선택 가능함
위 아래 버튼을 통한 숫자 선택 가능

결과는 일반 숫자값

  • range
    • 바를 이용한 값 선택, 범위 설정
설정한 범위 내의 바 선택 가능


  • search
    • 검색을 위한 필드 (IE9나 크롬에서 지원한암)
  • tel
    • 전화번호 필드 (IE9나 크롬에서 지원한암)
  • time
    • 시간 입력을 위한 필드

  • url
    • url 입력을 위한 필드 (IE9나 크롬에서 지원한암)
  • week
    • 몇번째 주인지를 입력하는 필드

2014년 6월 16일 월요일

[HTML5] HTML5 Semantic Elements (의미 요소)

Semantic = Meaning (의미)
Semantic elements = Elements with meaning. (의미 요소는 의미를 가지고 있는 요소의 뜻)

무엇이 의미 요소인가?
의미 요소는 브라우저와 개발자 사이에서의 의미가 명료하게 정의된다.

  • 의미가 없는 요소의 예: <div>와 <span> - 컨텐츠에 대해 아무것도 알려주지 않는다.
  • 의미 요소의 예: <form>, <table>, <img> - 컨텐츠를 명료하게 정의한다.


HTML5의 새로운 의미 요소
오늘날 현존하는 많은 웹 사이트는 탐색 링크, 머리말, 꼬리말을 표현하기 위해 <div id="nav">, <div class="header">, <div id="footer"> 같은 HTML 코드를 포함한다.
HTML5는 웹 페이지의 다른 부분을 명료하게 정의하기 위해 새로운 의미요소를 권장한다.
  • <header>
  • <nav>
  • <section>
  • <article>
  • <aside>
  • <figure>
  • <figcaption>
  • <footer>
  • <details>
  • <summary>
  • <mark>
  • <time>


[HTML5] HTML5의 새로운 요소

HTML5의 새로운 요소
인터넷과 인터넷 사용은 HTML 4.01이 표준정의 된 1999년 이래로 많이 변화했다.

오늘날, HTML 4.01의 몇몇의 요소는 구식이거나 전혀 사용되지 않거나 사용 예정이기만 하다. 이런 모든 요소는 제거되거나 HTML5에서 재정의 되었다.


새로운 <canvas> 요소
자바 스크립트를 사용하는 그래픽 그리기 정의


새로운 미디어 요소

  • <audio>
    • 소리나 음악 컨텐츠 정의
  • <embed>
    • 플러그인 같은 외부 어플리케이션을 위한 컨테이너 정의
  • <source>
    • <video>와 <audio> 를 위한 소스 정의
  • <track>
    • <video>와 <audio> 를 위한 트랙 정의
  • <video>
    • 비디오나 무비 컨텐츠 정의



새로운 폼 요소

  • <datalist>
    • 입력 컨트롤에 대한 미리 정의된 옵션 정의
  • <keygen>
    • 폼을 위한 키 패어 생성 필드 정의
  • <output>
    • 계산 결과를 정의



새로운 의미/구조 요소
HTML5는 더 나은 구조를 위한 새로운 요소를 권장한다.

  • <article>
    • 문서의 항목 정의
  • <aside>
    • 페이지 컨텐츠로부터 곁가지 컨텐츠 정의
  • <bdi>
    • 바깥쪽의 다른 텍스트와 방향이 다른 포맷인 텍스트의 부분 정의
  • <details>
    • 사용자가 보거나 감출 수 있는 추가적인 상세 정의
  • <dialog>
    • 다이얼로그 박스나 윈도우 정의
  • <figcaption>
    • <figure>요소를 위한 캡션 정의
  • <figure>
    • 일러스트래이션, 다이어그램, 사진, 코드 리스트 등과 같은 자체 포함된 컨텐츠 정의
  • <footer>
    • 문서나 섹션을 위한 꼬리말 정의
  • <header>
    • 문서나 섹션을 위한 머리말 정의
  • <main>
    • 문서의 주 컨텐츠 정의
  • <mark>
    • mark 되거나 하이라이트 된 텍스트 정의
  • <menuitem>
    • 팝업 메뉴에서 사용자가 선택할 수 있는 커멘드나 메뉴 아이템 정의
  • <meter>
    • 알려진 범위(게이지)에서 스칼라 측정을 정의
  • <nav>
    • 문서에 탐색 링크 정의
  • <progress>
    • 작업의 진행 상황 정의
  • <rp>
    • 루비 주석을 지원하지 않는 브라우저에서 무엇을 보여줄지를 정의
  • <rt>
    • 동아시아 글자를 위한 문자의 설명을 정의
  • <ruby>
    • 동아시아 글자를 위한 루비 주석 정의
  • <section>
    • 문서의 섹션 정의
  • <summary>
    • <details> 요소를 위한 머리말 보여줄지를 정의
  • <time>
    • 날짜와 시간 정의
  • <wbr>
    • 가능한 line-break를 정의


제거된 요소
다음의 HTML 4.01요소는 HTML5에서 제거되었다.

  • <acronym>
  • <applet>
  • <basefont>
  • <big>
  • <center>
  • <dir>
  • <font>
  • <frame>
  • <frameset>
  • <noframes>
  • <strike>
  • <tt>










2014년 6월 15일 일요일

[HTML5] HTML5란

HTML5는 최신의 HTML 표준이다.
  • 새로워진 것은?
    • 새로운 요소
    • 새로운 속성
    • CSS3의 완벽한 지원
    • 비디오와 오디오
    • 2D/3D 그래픽
    • 로컬 저장
    • 로컬 SQL 데이터베이스
    • 웹 어플리케이션

HTML5란?

  • HTML5는 최신의 HTML을 위한 표준이다.
  • HTML의 이전버전인 HTML 4.01은 1999년도에 만들어졌고 그후로 인터넷은 의미심장하게 변화되었다.
  • HTML5는 HTML4와 XHTML, 그리고 HTML DOM 레벨 2를 대신하도록 설계되었다.
  • 그것은 추가적인 플러그인의 필요없이 많은 컨텐츠를 전달할 수 있도록 특별히 설계되었다. 현재 버전은 애니매이션에서 그래픽, 음악에서 동영상, 그리고 복잡한 웹 어플리케이션까지도 전송 가능하다.
  • HTML5는 또한 크로스 플랫폼이다. 그것은 PC나 태블릿, 스마트 폰, 스마트 TV에서도 동작할 수 있도록 설계되었다.

HTML5는 어떻게 시작되었나?
HTML5는 월드 와이드 웹 컨소시움(W3C)과 웹 하이퍼텍스트 어플리케이션 기술 작업 그룹(WHATWG)의 협동이다

WHATWG는 웹 폼과 어플리케이션으로 일을 하고, W3C는 XHTML 2.0 In 2006으로 일을 하는데, 그들은 HTML의 새로운 버전을 만들고 협동하고자 결정했다.


HTML5를 위한 몇가지 룰이 결정되었다.
  • 새로운 특징은 HTML, CSS, DOM과 자바스크립트를 기반으로 해야 함
  • 플래시 같은 외부 플러그인의 필요를 최소화 함
  • 에러 핸들링은 이전 버전보다 쉽게 해야 함
  • 스크립팅은 다른 마크업으로 대체되어야 함
  • HTML5는 장치 독립적이어야 함
  • 개발 프로세스는 공용적으로 보일수 있어야 함

HTML5 <!DOCTYPE>
HTML5 안에서는 오직 하나의 DOCTYPE 정의가 있고 그것은 매우 간단하다.
<!DOCTYPE html>


최소한의 HTML5 문서
다음은 간단한 HTML5 문서이다. 최소한의 요구 태그만을 사용한다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>

<body>
Content of the document .....
</body>

</html>


HTML5 - 새로운 특징
HTML5의 가장 흥미있는 새로운 특징의 일부

  • 2D 그리기를 위한 <canvas> 요소
  • 미디어 재생을 위한 <video>와 <audio> 요소
  • 로컬 저장장치 지원
  • 새로운 컨텐츠 - <article>, <footer>, <header>, <nav>, <section> 같은 특별한 요소
  • calendar, date, time, email, url, search 같은 새로운 폼 컨트롤들

HTML5를 위한 브라우저 지원
모든 주요 브라우저들(크롬, 파이어폭스, 인터넷익스플로러, 사파리, 오페라)은 새로운 HTML5 요소와 API들, 새로운 버전에 계속적으로 추가되는 HTML5 특징들을 지원한다.

HTML5 작업 그룹은 AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera, 그리고 수많은 벤더들이 포함된다.