《HTML5移動應用開發入門經典》——2.3 HTML4標籤和屬性的變化

非同步社群發表於2017-05-02

本節書摘來非同步社群《HTML5移動應用開發入門經典》一書中的第2章,第2.3節,作者:【美】Jennifer Kyrnin,更多章節內容可以訪問雲棲社群“非同步社群”公眾號檢視。

2.3 HTML 4標籤和屬性的變化

HTML5移動應用開發入門經典
一些現有的HTML 4標籤及屬性也發生了變化,具體表現在:功能變更或者增加;定義及作用範圍更加明確,以及賦予了語義。

例如,一些HTML 4中不包含語義部分的標籤在HTML5中被賦予了語義含義,如下所示:

<b>——粗體文字。
<i>——斜體文字。
<hr>——文字中的主題性分段。
<s>——不再準確或無關的內容(刪除線)。
<small>——法律文件等附屬細則(小號字型)。

有些標籤含義有所改變,或是擁有了更多用途。

可以使用無屬性的標籤。在這種情況下應將其當做連結的佔位符。

<address>標籤成為分節內容的一部分(見第9章)。
<cite>標籤可以表示引用作品的標題,但不能用來標記人名。
<menu>標籤用於建立工具欄及右鍵選單。
一些元素的功能或描述也進行了更改或刪除。

<dl>是“名稱=值對”(name=value pairs)的列表,但不能像指令碼一樣用來顯示對話方塊。
顯示<label>元素時,使用者代理不再將焦點從標籤移至相關表單控制元件上,除非它屬於平臺的標準行為。
<strong>元素現在不再指“強調”的內容,而是指“重要”的內容。
<object>元素不再允許嵌在<head>元素中。
大部分HTML 4屬性仍舊和以前一樣,但除非編寫者使用非標準指令碼(即並非JavaScript)或非標準樣式表(即非CSS),一般情況下<script>及<style>標籤中不再需要寫入type屬性。

同時,HTML5還強烈建議使用者改變某些屬性的習慣用法,舉例如下。

不再將border屬性放在<img>標籤中,並將其賦值為“0”以關閉邊框,改為使用img {border:none;}這類CSS定義會更好。
在<script>標籤中使用language屬性時,它必須寫上“javascript”(不區分大小寫),同時不能與type屬性衝突。因此省略此屬性是更好的做法,因為其用處並不大。
如果還需要在<a>標籤中使用name屬性,應該改用id屬性,因為name屬性已被淘汰。
依舊可以使用summary屬性為複雜的表格提供概述。但是將置於文字中的summary放在<detail>元素的表格<caption>中,或放在一部分為該表格的<figure>或<figcaption>是更好的做法,因為它能提高可訪問性。
使用帶width屬性的影像時,不能再用百分比作為寬度單位。
不可再使用一些被HTML5淘汰的元素及屬性。本章不會詳細討論它們,但若打算使用的元素或屬性未在附件B的HTML5元素及屬性列表中列出,應該使用其他的元素或屬性來代替。

以下是比較重要的被淘汰的元素及屬性。

<frame>、<frameset>和<noframes>——框架已不再是HTML5的一部分,因此請棄用它們。
<basefont>、<big>、<center>、<font>、<strike>、<tt>和<u>——這類標籤純粹是用於定義外觀,因此它們已被刪除,CSS能將它們的作用發揮得更好。
<acronym>——因該標籤帶來混亂而被刪除,現在人們使用<abbr>來指代縮寫語。
<applet>——此標籤因<object>的緣故被棄用,正如<dir>標籤因<ul>的緣故被棄用一樣。此類標籤的代替元素有更好的可訪問性或易用性。


相關文章