從本學期開始我打算把我以前學的知識點系統地總結一下,先從HTML開始。(本系列內容總結自博文視點出版社•代碼逆襲系列書籍,包括代碼片段。)
一、HTML文檔類型
HTML版本眾多,瀏覽器如何得知使用的是哪個版本呢?在文檔的開始,有一個DOCTYPE聲明,它用來識別HTML的版本,由一個單獨的標簽組成。<!DOCTYPE>聲明引用DTD(文檔類型定義),規定了標記語言的規則。HTML4和XHTML 1.0時代有好幾種DOCTYPE,每種都會指明使用的HTML是嚴格型還是過渡性模式。
//嚴格模式 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> //過渡模式 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
而HTML5就簡單多了,所有瀏覽器通用,不用擔心兼容性問題,只需要寫:
<!DOCTYPE html>
二、meta元素定義頁面元信息
<!DOCTYPE html>
<html lang="en">//定義中文網頁
<head>
<meta charset="UTF-8">//文檔字符編碼方式,不聲明的話可能會亂碼
<title>Document</title>
</head>
<body>
</body>
</html>
lang屬性只有H5中才需要指定。該屬性定義了創建文檔的語言類型,zh是中文的意思。
<meta> 標簽的屬性定義了與文檔相關聯的名稱/值對。
name 屬性
name 屬性提供了名稱/值對中的名稱。"keywords" 是一個經常被用到的名稱。它為文檔定義了一組關鍵字。某些搜索引擎在遇到這些關鍵字時,會用這些關鍵字對文檔進行分類。類似這樣的 meta 標簽可能對於進入搜索引擎的索引有幫助:
<meta name="keywords"
content="HTML,ASP,PHP,SQL">
如果沒有提供 name 屬性,那么名稱/值對中的名稱會采用 http-equiv 屬性的值。
http-equiv 屬性
http-equiv 屬性為名稱/值對提供了名稱。並指示服務器在發送實際的文檔之前先在要傳送給瀏覽器的 MIME 文檔頭部包含名稱/值對。
當服務器向瀏覽器發送文檔時,會先發送許多名稱/值對。雖然有些服務器會發送許多這種名稱/值對,但是所有服務器都至少要發送一個:content-type:text/html。這將告訴瀏覽器准備接受一個 HTML 文檔。
使用帶有 http-equiv 屬性的 <meta> 標簽時,服務器將把名稱/值對添加到發送給瀏覽器的內容頭部。例如,添加:
<meta http-equiv="charset"
content="iso-8859-1">
<meta http-equiv="expires"
content="31 Dec 2008">
這樣發送到瀏覽器的頭部就應該包含:
content-type: text/html
charset:iso-8859-1
expires:31 Dec 2008
當然,只有瀏覽器可以接受這些附加的頭部字段,並能以適當的方式使用它們時,這些字段才有意義。
content 屬性
content 屬性提供了名稱/值對中的值。該值可以是任何有效的字符串。
content 屬性始終要和 name 屬性或 http-equiv 屬性一起使用。
三、base元素定義基底網址
base標簽定義在head標簽內,HTML文檔通過基底網址,把當前HTML文檔中所有相對的URL轉化成絕對URL。當瀏覽器瀏覽網頁時,通過<base>將相對URL附在基底網址的后面,就成了絕對URL。
base里還可以通過target屬性告訴瀏覽器如何打開頁面。
四、title屬性
title屬性用於為圖像、鏈接或按鈕添加描述性的文字,當鼠標移到目標元素之上時即顯示懸浮提示文字。可以使用在除了base, basefont, head, html, meta, param, script, title之外所有標簽中。