标签、元素、属性和属性值

一个标准的HTML文件由HTML元素、元素的属性和相关属性值3个基本部分构成。其中,元素的各项属性定义元素的样式和功能,例如name命名属性、onkeypress键盘属性、href目标地址链接属性等。这些属性又由它们各自特定类型的属性值定义,例如长度类型、颜色类型和URI类型等。

HTML元素是构建网页的一种单位,是由HTML标签和HTML属性组成的,HTML元素也是网页中的一种基本单位。

HTML与其他标记语言一样,HTML的关键,是标签(tag)。HTML标签是HTML语言中最基本的单位,HTML标签是HTML语言最重要的组成部分。标签是经过编码的符号,用于区分和分隔内容的不同部分,并告知浏览器它处理的是什么类型的内容。大多数HTML标签的名字都准确地描述了它们的用途和它们所标注的内容的类型,如标题、段落、列表、图像等。

HTML的标签包括在一对尖括号(<>)之间,以便将它们与普通文本区分开来。第一个尖括号(<)标明了标签的开头,随后是特定的标签名(tag name),最后以一个反向的尖括号(>)结束。例如下面是一个表示段落的开头的HTML标签:

<p>

在HTML中,标签名是大小写不敏感的,就是说不区分大小写。

大多数标签配对使用:一个开标签[(opening tag),也叫开始标签、起始标签(start tag)],用于表明一个内容片段的开始,还有一个闭标签[closing tag,也叫结束标签、结尾标签、终止(end tag)],用于表明其结束。例如段落的开始用开标签<p>表示,其结尾标签用</p>表示。闭标签中第一个尖括号后的斜线(/)将它与开标签区分开。一个完整的段落标记如下:

<p>Hello, World!</p>

可见,HTML标签的语法如下,有两种形式(成对与不成对):

<标签名>内容</标签名>
<标签名>

这对孪生标签和它们之间的一切形成一个元素(element)。标签名就是元素名。

其中,<br>、<img>等元素因为不需要终止标签,所以不会有被包括的内容,因此它们也被称为空元素(empty element)。

元素的开标前可以带有一些属性(attribute),以提供关于该元素的更多信息。属性由属性名(attribute name)和随后的属性值(attribute value)组成。如:

<p class="greeting">Hello, World!</p>

这一段落具有值为greeting的class属性。元素的属性和元素之间用英文半角的空格隔开。属性的值和名用一个等号(=)连接起来,并且值可以用一对引号括起来,双引号或单引号均可,只要它们匹配("…'的属性值就是无效的),当然HTML中也可以不用引号,但若属性值中含有空格则必须使用引号。少数属性在HTML中不需要属性值,它们扮演者布尔属性的角色[没有值的属性被称为最小化属性(minimized attribute)]。与标签名一样,属性名也是不区分大小写的。属性值一般不区分大小写,但有时大小写是有区别的,特别是在属性值数据用于脚本引用或提交给服务器,而且有些值可能需要使用大写字母。即便如此,为了一致性起见,能小写的就小写。

元素的开标签可以有多个属性,它们彼此也用空格隔开。属性只允许出现在开标签(或空元素的单一的、自闭合的标签中)。某些元素必须指定某些属性,而其他属性则是可有可无的。

可见,HTML属性的一般语法如下:

<标签名 属性名1="属性值" 属性名2="属性值" ... 属性名N="属性值">内容</标签名>

下图说明了元素的组成部分。

元素的组成部分

元素和标签不是一回事。有些人把元素称作标签(如“P标签”)。需要记住的是,元素是一码事,标签(不论是开始标签还是终止标签)是另一码事。例如,HEAD元素总是存在的,即使它的开始标签和终止标签都没有也是如此。

布尔属性
某些属性担任布尔属性的角色(如option元素的selected属性)。它们在一个元素的开始标签中的出现暗示属性值为“true”。如果元素没有设置它们,则默认它们的值为“false”。
布尔特性可以有一个合法的单一值:属性名称本身。(如selected="selected")。
此属性通过出现于元素开始标记被设为“true”:
<OPTIONselected="selected">
...contents...
<OPTION>
在HTML中,布尔特性可以以“最小化的形式”(minimized form)出现——属性值出现于元素的开始标签内。因此selected属性也可以这样设置
<OPTION selected>
以替代
<OPTION selected="selected">
设计者应当知道许多用户代理器(浏览器)只识别布尔属性的最小化形式而非完整形式。