HTML 4.01 到 HTML5 的新做法


前導

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 改為 <!DOCTYPE html>


標頭

<meta http-equiv='Content-Language' content='zh-TW'> 改為 <html lang='zh-Hant-TW'>

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 改為 <meta charset='utf-8'>


標籤

ACRONYMABBR 取代。
APPLETOBJECT 取代,並配合屬性 type='application/x-java-applet'
BASEFONT 由 CSS 的 font-size 取代。
BIG 由 CSS 的 font-size:larger 取代。
CENTER 由 CSS 的 text-align:center 取代。
DIRUL 取代。
FONT 的效果由 CSS 的 font 取代,標籤可改用 SPAN,或者 P 搭配 display:inline
FRAMEFRAMESETNOFRAMES 標籤不再使用,類似效果可用 DIV 產生。
ISINDEXINPUT 取代。
SSTRIKE 由 CSS 的 text-decoration:line-through 取代。
TT 由 CSS 的 font-family:monospace 取代。
U 由 CSS 的 text-decoration:underline 取代。
XMPPRE 取代。

允許省略 HTML HEAD BODY TBODY 標籤,但這是為了將錯就錯,而不是因為省略更好。


屬性

align 屬性可使用 CSS 的 margintext-align 取代,例如 align=center,可改以 margin:autotext-align:center 嘗試。

A 標籤的 name 屬性不再提供 anchor 的用途,改用 id 屬性代替。

新增 contenteditable(可編輯)、data-(自定義屬性資料)、draggable(可拖曳)、hidden(隱藏)屬性。


結束

沒有結束標籤的元素有:

AREA BASE BR COL EMBED HR IMG INPUT LINK MATE PARAM SOURCE WBR

HTML5 不需要用 XML 的單一標籤寫法來封閉沒有結束標籤的元素,例如這樣寫就好:


不需要寫成:


同理,該用成對標籤來封閉的元素,就不要用單一標籤的封閉方式來結束,例如這樣寫是錯的:


正確寫法是:


但為了將錯就錯,HTML5 允許這些元素省略結束標籤:

COLGROUP DT DD HTML LI OPTGROUP OPTION P RT RP THEAD TBODY TFOOT TR TD TH