从本学期开始我打算把我以前学的知识点系统地总结一下,先从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之外所有标签中。