HTML元素

HTML中，一個HTML元素是HTML檔案的一個基本組成單元。HTML檔案採用採用樹形結構安排HTML元素。更進一步的說，一個HTML元素是一個滿足一項或多項DTD要求的元素。HTML元素可以擁有"屬性"和"內容"，可以是標題、段落、連結、列表、嵌入媒體或者其他的任何符合DTD要求的格式。概述.語法.在HTML語法中，大多數元素編寫一個開始標記和結束標記，與其之間的內容。HTML標記係由元素名稱，包圍於兩側之小於號與大於號之括號所組成。其結束標記擁有一斜線位在小於號之括號後，有別於其起始標記。例如：一個段落係由codice_1元素所代表，其被寫成然而，並非所有的此類元素"需要"結束標記，甚至是開始標記必須存在。某些元素，即所謂的"void空元素"，並無結束標記。典型的例子即codice_2元素，其表示一個顯著之換行，像是一首詩或一個住址。一個空元素的行為是預先定義的，並且它不能包含任何內容或其他元素。例如：在電影"海底總動員"中的牙醫師的地址將被寫成HTML元素可以是"容器"或者為"空"。容器元素 結構如下：空元素指僅包含一個標記，該標記既是開始標記同時也是結束標記。空元素可以有任意數量的屬性codice_5。在XHTML規範中，標記中的斜線符號是"必須"的。要求使用一個單獨標籤開啟與關閉元素。若要指定其為一個空元素，符號"/"包含於標記之結尾。例如：英語中有時HTML元素也被稱為“tags”，嚴格的說"tag"是指元素的開始或者結束標記。用來指示元素的附加的性質。放在開始標記中。例如：codice_6元素，其表示縮寫，預計一個codice_7屬性包含其開始標記。將被寫成在HTML中，元素名字可以是大寫或者小寫，但在XHTML中，必須是小寫。大寫是舊的用法，並且是HTML規範中說明的方法，但是小寫更為通用。相關標準.HTML元素是在自1995年以來發布的一系列免費開放標準中定義的，最初由IETF以及隨後由W3C制訂。1990年代的瀏覽器大戰期間，網頁瀏覽器的軟體商開始不斷的新增自定義的元素，有些被後來的標準吸收。並非所有的軟體商都支援這些非標準的元素，一般對於非標準的元素，或者是忽略，或者是導致顯示不正確。1998年，XML可以瀏覽任意元素。而後採用XML相容的辦法，重新制訂了HTML 4.01標準，XHTML 1.0"。當前的狀態.自從HTML第一版以來，已經有數個元素因為過期，不再新的標準中推薦使用或者乾脆刪除。目前由於並存三種HTML 4.01／XHTML 1.0 DTD標準，而使得HTML的驗證變得複雜起來，這三種標準分別是：HTML第一個標準包含四個過期的元素。其中一個在HTML 3.2中被列為無效。所有的四個在HTML 4.01 Transitional中都被列為無效，HTML4.01 Transitional標準此外還將另外十個元素定義為無效。以上這些元素再加兩個在HTML 4.01 Strict中同樣被定義為無效。由於frame元素在顯示方面的諸多問題以及其功能已經可以由其他元素替代，在未來的標準中不再保留，雖然目前在Transitional和--中仍然有效。一個經常導致錯誤理解的原因是不嚴格的使用"deprecated"一詞來泛指過期的和無效的，以及今後一段時間過期的不同的狀態。展示和行為.根據分離原則，HTML的功能在於給一個檔案的內容增加語義和結構的資訊。增加檔案的展示和行為的功能，例如增加CSS stylesheets和圖形來增加檔案的展示功能；透過連結到外部檔案和指令碼增加與使用者互動的行為。User agent也可以根據作者所提供的stylesheet在不同的介質上展示不同效果。同時保持語義上的一致。檔案結構元素.codice_8這是HTML檔案的根元素，所有其他的元素均包含在其中。在HTML 2.0中標準化，目前仍然在使用。codice_9包含HTML標題定義、外部、指令碼程式碼、格式程式碼等處理資訊和元資料。在HTML 2.0中標準化，目前仍然在使用。codice_10包含HTML檔案的內容.在HTML 2.0中標準化，目前仍然在使用。檔案頭元素.codice_11該元素的屬性href的值給檔案中所有的相對的codice_12及其它連結提供一個基本的url路徑。必須出現在任何引用外部資源的元素之前。在每個HTML檔案中，只允許出現一個codice_13元素。codice_13元素沒有內容。其另外一個可選屬性target的值可以為：_blank、_parent、_self、_top、framename，規定頁面中所有的超連結和表單在何處開啟；該屬性會被每個具體連結中的target 屬性覆蓋。在"HTML Tags"中曾經提到一個開發版的BASE元素; 在HTML 2.0中得以標準化; 目前沒有變化。codice_15指定一個基本的字型，包括字元的大小，字型和顏色，與codice_16元素搭配使用。已經過期，推薦使用CSS.在HTML 3.2中標準化；在HTML 4.0 Transitional中過期；並已於HTML 4.0 Strict中失效。codice_17codice_18既可以出現在檔案頭，也可以出現在檔案體內，但是隻能出現一次。需要伺服器端的搜尋引擎的支援。出現在檔案頭表示這個檔案是一個可搜尋的索引。在頁面上顯示成一個單行的文字輸入框用來輸入關鍵詞。頁面被提交後，query string被加到當前的URL後面，輸出的檔案搜尋的關鍵字被加亮顯示。一般來說，如果伺服器支援這個功能的話會自行的加入isindex。ISINDEX在"HTML Tags"出現，在HTML 2.0中標準化。在HTML 4.0 Transitional中過期。在HTML 4.0 Strict中是無效的元素。codice_19指定連結到其他檔案，如"previous"和"next"連結，或替代版本。常見的用途是連結至外部的CSS樣式表，使用形式：codice_20較少見但重要之用途是透過使用微格式持續性支援導覽提示。若干常見之關係已被定義，可能透過瀏覽器介面傳達給使用者，而非直接於網頁中。codice_21檔案之codice_22元素可能包含任何數量之codice_23元素。該codice_23 元素擁有，但無內容。LINK存在於"HTML Internet Draft 1.2"，且已在HTML 2.0中標準化；目前沒有變化。codice_25可用於指定關於檔案之額外中繼資料，如作者、出版日期、有效日期、頁面描述、關鍵字，或者透過其他header元素及之其他未提供的資訊。因其共通性，codice_26元素指定關聯的key-value pairs。一般情況之下，meta元素傳達關於檔案之隱藏資訊。若干meta標籤可被使用，上述之全部應被巢狀在head元素中。每個" meta"元素之特定目的是由其屬性來定義。在一種形式中，codice_26元素可指定應經由實際內容之前的網頁伺服器寄送之HTTP標頭，例如：codice_28— this specifies that the page should be served with an HTTP header called codice_29 that has a value codice_30.在一般形式中，codice_26元素指定HTML網頁的codice_32及關聯的codice_33 HTML 屬性描述方面。為了防止可能發生歧義，一個可選取之第三方屬性：codice_34可被支援於指定一個定義該key及其值的含意之語意框架：例如：codice_35在本範例中，codice_26元素辨識其自身為包含codice_29元素，包含codice_30值，從DC或都柏林核心資源描述框架.在HTML 2.0中標準化；目前沒有變化。codice_39使用於包含泛型物件在檔案標頭中。雖然很少使用在codice_22元素中，但也可能用來擷取外部資料，並將之與目前的檔案關聯。在HTML 4.0中標準化；目前沒有變化。codice_41可作為一個容器用於指令碼說明或連結至外部指令碼，包含可選取之codice_42屬性。此外，使用於檔案主體中以動態生成兩個區塊或內聯內容。在HTML 3.2中標準化；目前沒有變化。codice_43指定檔案的CSS樣式，其形式通常為：codice_44既可作為一個容器之樣式說明，亦可連結至外部CSS樣式表，例如，在CSS中，與表單中的codice_45指令：codice_46在HTML 3.2版本中標準化；目前沒有變化。codice_47定義檔案標題。在每個HTML及XHTML檔案中為需求的。使用者代理可以不同方式使用標題，例如：* 網頁瀏覽器通常將之顯示在標題列中，當視窗開啟時，或者顯示在工作列中，當視窗最小化時。* 當儲存該頁面時可為預設檔案名稱。* 搜尋引擎之網路編目程式可能會特別注意在標題中使用的文字。codice_7元素不能包含其他元素，僅文字。只有一種codice_7元素在檔案中被允許。TITLE存在於"HTML標籤"，並在HTML 2.0中標準化；目前沒有變化。檔案內容元素.在視覺化瀏覽器中，可顯示元素可呈現為"區塊"或"內行"。雖然所有元素是檔案序列之一部分，但是區塊元素 出現在其父元素中：反言之，內行元素被視為檔案文字流之部分；其無法擁有邊距、寬度或高度設定，並且跨行。區塊元素.區塊元素擁有矩形結構。在預設情況下，這些元素將佔據父元素的整個寬度，因而不允許任何其他元素佔據已被其所佔的同一水平空間。區塊元素的矩形結構經常稱之為，並由幾個部分所組成。每個元素包含以下內容：上述部分僅指CSS渲染的具體實施，並與HTML元素本身無關。基本文字.codice_50建立一段落，也許為最常見之區塊層級元素。codice_51在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_52codice_53codice_54codice_55codice_56codice_57不同層級之section標題。codice_58界定為最高層級標題，codice_59為下一層級，codice_60又低於上一層級，依此類推直到codice_61。有時其又統稱為codice_62標記，"n"表示任何有效之層級標題。多數視覺化瀏覽器預設將標題顯示為大型粗體字，雖然其可被CSS覆蓋。事實上，Heading元素並非只用於建立大型字或粗體字，其"不應"使用於顯示樣式化文字。反言之，其描述了檔案之結構和組織。部分程式利用其產生輪廓及表格內容。Headings在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。列表.codice_63定義列表。定義列表之目的為「術語及定義、中繼資料主題和值、問題及答案，或者名稱-值資料的任何其他群組」之群組。codice_64在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_65在定義列表中的名稱。codice_66在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_67定義列表中的值。codice_68在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_69有排序之編號清單。codice_70元素可用於指定排序型別，但CSS樣式表提供了更多控制：codice_71。其預設為阿拉伯數字編號。若要使用codice_70屬性，請使用codice_73，以下列專案之一取代codice_74：*codice_75表示A, B, C...*codice_76表示a, b, c...*codice_77表示I, II, III...*codice_78表示i, ii, iii...*codice_79表示1, 2, 3...codice_80在"HTML Internet Draft 1.2"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_81未排序清單。CSS樣式表可用於指定其專案符號：codice_82。其預設專案符號為一個空心圓。codice_83在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_84在排序(ol)或未排序(ul)清單中之列表專案。codice_85在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_86目錄清單。該元素之原始目的從未廣泛支援；已被codice_87替代，故不建議使用。codice_88在"HTML Tags"中已經存在，並於HTML 2.0中標準化；在HTML 4.0 Transitional中不建議使用；在HTML 4.0 Strict中已失效。其他區塊元素.codice_89檔案作者之聯絡資訊。codice_90在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_91一個區塊層級引用，用於當quotation包含區塊層級元素，如段落。codice_92屬性可能提供且必須是完全合格之統一資源標誌符。區塊quotation的簡報在視覺化瀏覽器中經常從其兩個margin縮排之。codice_93在"HTML Internet Draft 1.2"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。如需更多資訊，請lockquote元素。codice_94建立一個區塊層級之置中對齊區域。已由使用CSS樣式表定義置中對齊codice_95或其他元素之方式替代，故不建議使用。在HTML 3.2中標準化。codice_96標記內容中已刪除的section。該元素亦使用為"inline"。在HTML 4.0中標準化；目前仍在使用。codice_97一個區塊層級之邏輯區。沒有語意的通用元素用於區分檔案的section，通常為目的，例如由CSS樣式表或DOM呼叫來控制之簡報或行為。在HTML 3.0 Drafts中出現；在HTML 3.2中標準化；目前仍在使用。codice_98水平線。表象規則亦可被CSS樣式表繪製。在HTML 2.0中標準化；目前仍在使用。codice_99標記一個已插入內容之section。該元素亦使用為"inline"。在HTML 4.0中標準化；目前仍在使用。codice_100指令碼的替代內容。不同於指令碼，其只能作為區塊元素。在HTML 4.0中標準化；目前仍在使用。codice_101表示是"預先格式化"的文字。在元素內的文字通常會被顯示為等寬字型，就如同是在文字檔案中的文字一樣。codice_110在"HTML Internet Draft 1.2"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。codice_41在檔案中放置指令碼。在head中以及在inline內容中也具有效果。注意：codice_112本身並非區塊或內行元素；其本身不應全部顯示，但其可包含說明以動態生成區塊或內行內容兩者。在HTML 3.2中標準化；目前仍在使用。行內元素.行內元素無法直接放置在codice_113元素中；其必須完全巢狀於區塊及元素中。錨.codice_114錨元素之所以稱為“錨”，是因為網頁設計者可以用它們來將URL和網頁上的一些文字“繫”在一起。當用戶在瀏覽器中檢視網頁時，他們可以透過點選文字來啟用連結，以訪問連結中URL指向的頁面。在HTML中，錨既可以是超級連結的也可以是"目標"端。透過使用codice_12屬性。或者因此codice_119不再必要。codice_75在"HTML Tags"中已經存在，並且在HTML 2.0中標準化；目前仍在使用。短語元素.常用的短語元素.codice_121表示本元素是一個縮寫，title屬性中可以包含全稱：codice_122在HTML 4.0中標準化，目前仍然在使用。codice_123與codice_6元素類似。:codice_125在HTML 4.0中標準化，目前仍然在使用，在HTML5中不支援。codice_126表示本元素是一個詞條的定義。DFN 在"HTML Internet Draft 1.2"中已經存在，在HTML 3.2中完全標準化，目前仍然在使用。codice_127"強調"本元素，傳統上顯示為斜體。EM 在"HTML Internet Draft 1.2"中已經存在，在HTML 2.0中完全標準化，目前仍然在使用。codice_128加重一個詞條，。有助聽功能的瀏覽器可能會使用不同的聲音來表述加重的詞。STRONG在"HTML Internet Draft 1.2"已經存在，在HTML 2.0中完全標準化，目前仍然在使用。計算機術語元素.這些與元素主要用於方便顯示計算機軟體編碼和與使用者互動（codice_129顯示一段程式碼。通常用等寬字型顯示：codice_130CODE在"HTML Internet Draft 1.2"中出現，並且在HTML 2.0最終標準化； 目前仍在使用。codice_131顯示一段程式或指令碼輸出的樣本。SAMP在"HTML Internet Draft 1.2"中出現，並且在HTML 2.0最終標準化； 目前仍在使用。codice_132鍵盤 - 顯示使用者輸入的文字。KBD在"HTML Internet Draft 1.2"中出現，並且在HTML 2.0最終標準化； 目前仍在使用。codice_133顯示一個變數。VAR在"HTML Internet Draft 1.2"中出現，並且在HTML 2.0最終標準化； 目前仍在使用。視覺效果.視覺效果的元素僅僅對可視瀏覽器起作用，因此不推薦使用，如果可能應該使用層疊樣式表。部分元素在HTML 4 / XHTML 1.0中被宣佈過期或者無效的，其它的在當前的XHTML 2.0草案XHTML 2.0中被定義為無效的。當前的HTML 5草案HTML 5中，b, i和small還是有效的.codice_134在可能的情況下，將字型設定成粗體。codice_136在可視的瀏覽器中有相同的效果，但是有更強的語義。B在"HTML Internet Draft 1.2"中定義，並且在HTML 2.0中標準化，目前仍在使用。圖形和物件.codice_137codice_42屬性指定影象的URL。codice_139屬性提供影象的替代文字。IMG由馬克·安德森所提出並實作在NCSA Mosaic網頁瀏覽器。IMG在"HTML Internet Draft 1.2"中定義，並且在HTML 2.0中標準化，目前仍在使用。非標準元素.codice_140文字閃爍特效。BLINK源自於Netscape Navigator。由於該特效可能會對患者產生負面影響，在HTML 2.0後被列為過期或無效。codice_141文字滾動特效。MARQUEE源自於Internet Explorer。由於該特效可能會對患者產生負面影響，在HTML 4.01後被列為過期或無效。註解.在HTML中的 註解語法與SGML相同。不同於其它HTML標籤，註解不支援巢狀結構。標籤： codice_142 看起來會是這樣 codice_143 後面拖著一段沒有被標籤包起來的文字： codice_144註解可以出現在檔案的任何地方，甚至可以在檔案型別宣告之前。HTML的直譯器會忽略註解，只要它們不在HTML標籤內。這裡標籤內的意思並非指被一對開始標籤及結束標籤包住的區域內，而是指在開始標籤內，或結束標籤、空元素標籤內。然而並非所有瀏覽器、HTML編輯器都與HTML語法完全相容，在某些特殊情況會造成意料之外的結果。約有5%的瀏覽器、HTML編輯器在處理註解標籤上有缺陷。僅管只有少數版本有此問題。一些有關註解的相容性問題："(HTML 4.01 is the updated form of HTML 4.0.)""(Part of the first published description of HTML.)""(This is the final draft of HTML 3.0, which expired without being developed further.)"