---
tags: html5
---
# HTML5
[TOC]
* * *
## HTML Index:
```html
<!DOCTYPE html> (表示使用 html5 版本)
<html>(root element)
<head>(標題相關)
<meta charset="utf-8">
<style></style>
<link rel="stylesheet" href="file.css">
Css相關定義可以在這裡導入, 直接定義(style)或是用(link)
<script type="text/javascript" src="file.js"></script>
JavaScript相關使用(script)導入, 可直接定義也可以使用額外檔案.js
(Css & JavaScript 都可以隨時導入, 但習慣放在head)
<title></title>(標題網頁名稱) 只能有一個"title"
</head>
<body>(主要網頁內容)
內容
</body>
</html>
```
## HTML Tags:
```html
<!-- 註解 --> (Ctrl + /) 整行加註解
<b>粗體</b>
<strong>著重</strong> (stress emphasis of its contents)
<i>斜體</i>
<em>強調</em> (strong importance for its contents)
<u>下底線</u>
<del>刪除線</del>
<mark>螢光筆</mark>
<hX> X=1~6 由大至小的標題(會自己分段)</hX> (heading)
<p>段落</p> (paragraph)
<br/> 斷行符號 (break)
<hr/> 一條水平線
<center>內容置中</center>
<pre>原始排版</pre>
<div class="">(內容區塊設定) class來統一設定</div> 設定通用區域
<font color="rrggbb" size=n>文字格式 大小顏色</font> (rgb 16位元)0~f
<small>內容縮小</small>
<big>內容放大</big>
<sup>上標</sup>
<sub>下標</sub>
```
* * *
## 清單(list):
`1. <ul>無序清單(Unordered lists)</ul> <li>列表內容</li>`
```html
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
```
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
* * *
`2. <ol>有序清單(Ordered lists) start=起始值 type=類型</ol> <li>列表內容</li>`
```html
<ol start=4>
<li>A</li>
<li>B</li>
<li>C</li>
</ol>
```
<ol start=4>
<li>A</li>
<li>B</li>
<li>C</li>
</ol>
* * *
## 列表(table): <tr>table row <th>table head(粗體) <td>table data
```html
<thead> <tbody> <tfoot> 列表的分群!
<table> <!-- 宣告表 -->
<tr> <!-- row -->
<th>(c0)</th> <!-- columns element -->
<th>(c1)</th>>
</tr>
<tr>
<td>(00)</td>
<td>(01)</td>
</tr>
<tr>
<td>(10)</td>
<td>(11)</td>
</tr>
</table>
```
<thead> <tbody> <tfoot> 列表的分群!
<table> <!-- 宣告表 -->
<tr> <!-- row -->
<th>(c0)</th> <!-- columns element -->
<th>(c1)</th>>
</tr>
<tr>
<td>(00)</td>
<td>(01)</td>
</tr>
<tr>
<td>(10)</td>
<td>(11)</td>
</tr>
</table>
* * *
## 圖片(image):
```html
<img src="" alt="">
<img src="位置" alt="圖片無法顯示的說明" width="寬" height="高"(px)>
alt (alternative) 這個屬性:
在網頁瀏覽者無法正確看到圖片時,你希望對他們呈現什麼樣的說明文字。
指限制單一寬高 會按照比例縮放
```
* * *
## 互動式tags:
```html
<a href="https://www.google.com.tw/">連結名稱</a> 超連結(link)
<a href="#id.val">連結名稱</a> 移動到id = id.val tag的位置
<a href="URL#id.val">連結名稱</a> 超連結到網址URL的網頁 id = id.val tag的位置
連結屬性:target 連結方式
<embed type="video/quicktime" src="" width="300" height="300"> 音樂連結
```
* * *
## 表單:
<form class=""
action=送出目的地(URL)空白的話就是傳給自己
method=資料傳送方式> 把資料回傳(把要回傳的資料包在form)
內容(input, textarea, select, button...等)
</form>
### 輸入input:
> ```html
> <input type=Y name=X value=""> type類型, value預設值
> ```
>
> #### input屬性(放在表單form中):
>
> | type: | | | |
> | :----------------- | :------ | :--------------------------------------- | --- |
> | **submit** | 送出按鈕 | 送出表單(form)中資料 | |
> | **image** | 圖像送出按鈕 | 送出表單(form)中資料 (圖片按鈕) | |
> | **reset** | 重設按鈕 | 復原表單(form)初始狀態 | |
> | **button** | 通用按鈕 | 用來激發JavaScript呼叫事件...等的按鈕 | |
> | **text** | 輸入欄位 | 文字框放入資料, `maxlength` 可以限制資料長度 | |
> | **search** | 搜尋欄位 | 文字框的一個類別 | |
> | **tel** | 電話欄位 | 文字框的一個類別 | |
> | **url** | 網址欄位 | 文字框的一個類別 | |
> | **email** | 電子郵件欄位 | 文字框的一個類別 | |
> | **number** | 數字欄位 | "限定"輸入數字, `step` 設置最小單位 | |
> | **password** | 密碼輸入欄位 | 文字框的一個類別 文字被遮蔽 | |
> | **hidden** | 隱藏欄位 | 不需要user輸入, 但使用上需要這個變數 | |
> | **range** | 範圍拉桿 | 產生一個範圍拉桿 | |
> | **color** | 顏色方框 | 顏色選擇方框 | |
> | **radio** | 選擇題(單選) | 多個`name`相同的元素, 輸出選擇的value, `checked`(預選) | |
> | **checkbox** | 選擇題(複選) | 多個`name`相同的元素, 輸出選擇的value, `checked`(預選) | |
> | **file** | 選擇檔案 | 上傳檔案選擇 | |
> | **datetime** | UTC日期時間 | 時間相關 | |
> | **datetime-local** | 本地日期時間 | 時間相關 | |
> | **date** | 日期欄位 | 時間相關 | |
> | **month** | 月份欄位 | 時間相關 | |
> | **week** | 星期欄位 | 時間相關 | |
> | **time** | 時間欄位 | 時間相關 | |
>
> **autocomplete**(自動填入): on, off
>
> ### 按鈕:
>
> ```html
> <button type="button" name="button"></button>
> button屬性:
> type: submit(送出按鈕), reset(重設按鈕), button(通用按鈕)
> ```
>
> ### 下拉式選項:
>
> ```html
> <select size="n" class="" name=""> size:同時顯示幾個選項
> <optgroup label="群組名稱"> 選項群組(可有可無)
> <option value="">選項值</option> *n 個選項
> </optgroup>
> </select>
> ```
>
> * * *
>
> ## label綁定:
>
> ```html
> <label for="綁定input.id">選項內容</label> 選項的內容也可以點選(方便選擇)
> ```
>
> * * *
* * *
## 事件
因為... 所以... (Event="id.val=foobar")
### Form Events 表單事件
> | Events | 引發時機 |
> | ------------- | ------------- |
> | onblur | 當元素失去操作焦點時 |
> | onchange | 當元素改變時 |
> | oncontextmenu | 當觸發選單(快顯功能表)時 |
> | onfocus | 當元素獲得操作時 |
> | onformchange | 當表單發生改變時 |
> | onformimput | 當表單任何元素被輸入時 |
> | oninput | 當元素被輸入資料時 |
> | oninvalid | 當元素無法使用時 |
> | onselect | 當元素被選取時 |
> | onsubmit | 當表單資料被送出時 |
>
> ### Keyboard Events 表單事件
>
> | Events | 引發時機 |
> | ---------- | ----------- |
> | onkeydown | 當按下鍵盤按鍵時 |
> | onkeypress | 當按下並放開鍵盤按鍵時 |
> | onkeyup | 當放開鍵盤按鍵時 |
>
> ### Mouse Events 滑鼠事件
>
> | Events | 引發時機(放置元素內 表示在元素內發生) |
> | ------------ | --------------------------- |
> | onclick | 當單擊滑鼠時(按下放開) |
> | ondbclick | 當雙擊滑鼠時(按下放開x2) |
> | ondrag | 當元素被拖曳時 |
> | ondragend | 當元素被拖曳結束時 |
> | ondragenter | 當元素被拖曳到有效元素目標元素上時(接觸目標元素) |
> | ondragleave | 當元素被拖曳到有效元素目標元素之外時(離開目標元素) |
> | ondragover | 當元素被拖曳過有效元素目標元素時(觸碰又離開目標元素) |
> | ondragstart | 當元素的拖曳動作開始時 |
> | ondrop | 當元素的拖曳動作正在進行時 |
> | onmousedown | 當按下滑鼠時 |
> | onmouseup | 當放開滑鼠時 |
> | onmousemove | 當移動滑鼠指標時 |
> | onmouseout | 當滑鼠指標從元素離開時 |
> | onmouseover | 當滑鼠指標移到元素時 |
> | onmousewheel | 當滾動滾輪時 |
> | onscroll | 當捲軸元素開始捲動時 |
>
> ### Window Events 視窗事件
>
> | Events | 引發時機 |
> | -------------- | ----------- |
> | onafterprint | 當網頁文件列印之後 |
> | onbeforeprint | 當網頁文件列印之前 |
> | onbeforeunload | 當網頁文件載入之前 |
> | onblur | 當視窗失去操作焦點時 |
> | onfocus | 當視窗操獲得作焦點時 |
> | onerror | 當錯誤發生時 |
> | onhaschange | 當網頁文件改變時 |
> | onload | 當網頁文件開始載入時 |
> | onmessage | 當獲得傳遞資料時 |
> | onoffline | 當網頁文件離線時 |
> | ononline | 當網頁文件再線時 |
> | onpagehide | 當視窗隱藏時 |
> | onpageshow | 當視窗可見時 |
> | onpopstate | 當視窗遊覽歷程被改變時 |
> | onredo | 當網頁文件再次被執行時 |
> | onresize | 當調整視窗大小時 |
> | onstorage | 當網頁文件執行時 |
> | onundo | 當網頁文件取消執行時 |
> | onunload | 當使用者離開網頁時 |
>
> ### Media Events 媒體事件
>
> | Events | 引發時機 |
> | ------------------ | ------------------------------ |
> | onabort | 當遊覽器完全載入前中止提取媒體資料時 |
> | oncanplay | 當媒體需要因資料緩衝而中斷時 |
> | oncanplaythrough | 當媒體不需要因為緩衝而中斷時 |
> | ondurationchange | 當媒體長度改變時 |
> | onemptied | 當媒體資料元素突然變成空元素時 |
> | onended | 當媒體結束時 |
> | onerror | 當元素在載入時期發生錯誤時 |
> | onloadeddata | 當媒體資料在載入時 |
> | onloadedmetadata | 當載入媒體的播放時間長度與媒體資源大小等的資訊時 |
> | onloadstart | 當遊覽器開始載入媒體時 |
> | onpause | 當媒體資料暫停播放時 |
> | onplay | 當媒體資料開始播放時 |
> | onplaying | 當媒體資料正在播放時 |
> | onprogress | 當遊覽器正在播放時 |
> | onratechange | 當媒體資料的播放速度改變時 |
> | onreadystatechange | 當準備狀態被改變時 |
> | onseeked | 當媒體元素停止請求數據資料時(seeking屬性false) |
> | onseeking | 當媒體元素正在請求數據資料時(seeking屬性true) |
> | onstalled | 當取得媒體資料期間發生錯誤時 |
> | onsuspend | 當遊覽器開始取得媒體資料但在完成前停止時 |
> | ontimeupdate | 當媒體改變播放位置時 |
> | onvolumechange | 當媒體的音量被改變或是設為靜音時 |
> | onwaiting | 當媒體停止播放又恢復播放時 |
* * *
## tags(element)的全域屬性:
class(類別名稱, 方便套用相同的樣式)
id(識別名稱, 給JavaScript參照) 只使用英文和數字
style(CSS宣告)
dir(文字走向:ltr, rtl 兩種 left 2 right)
contenteditable(能否編輯)
draggable(能否拖曳)
lang(語言碼)
spellcherk(對於輸入的標籤, 開啟拼字檢查功能)
translate(是否翻譯)
title(補充資料)
* * *