1.4.2 标签
一个标签由3部分组成:元素、属性和值。
1.元素
元素表示标签的名称。大多数标签由开始标签和结束标签配对使用。习惯上,标签名称采用小写形式,HTML5对此未做强制要求,也可以使用大写字母。除非特殊需要,否则不推荐使用大写字母。例如:
<em>小白</em>
开始标签:<em>
被标记的文本:小白
结束标签:</em>
还有一些标签不包含文本,仅有开始标签,称为孤标签。例如:
<img src="images/xiaobai.jpg" width="50" alt="小白者,我也" />
在HTML5中,孤标签名称结尾处的空格和斜杠是可选的。不过,“>”是必需的。
元素包含父元素和子元素。
如果一个元素包含另一个元素,它就是被包含元素的父元素,被包含元素称为子元素。子元素中包含的任何元素都是外层父元素的后代。这种类似家谱结构的HTML代码的结构特性,有助于在元素上添加样式和应用JavaScript行为。
当元素中包含其他元素时,每个元素都必须嵌套正确,也就是子元素必须完全包含在父元素中,不能把子元素的结束标签放在外面。例如:
<article> <h1>小白自语</h1> <img src="images/xiaobai.jpg" width="50" alt="小白者,我也" /> <p>我是<em>小白</em>, 现在准备学习<a href="https://www.w3.org/TR/html5/" rel="external" title="HTML5参考手册"> HTML5</a></p> </article>
在这段HTML代码中,article元素是h1、img和p元素的父元素,h1、img和p元素是article元素的子元素(也是后代)。p元素是em和a元素的父元素,em和a元素是p元素的子元素,也是article元素的后代(但不是子元素)。article元素是它们的祖先元素。
2.属性和值
属性用来设置标签的特性。在HTML5中,属性的值可以不加引号,习惯上建议添加,同时尽量使用小写形式。例如:
<label for="email">电子邮箱</label>
一个标签可以设置多个属性,每个属性都有各自的值。属性的顺序并不重要。不同的属性之间用空格隔开。例如:
<a href="https://www.w3.org/TR/html5/" rel="external" title="HTML5参考手册">HTML5</a>
有的属性可以接收任何值,有的属性则有限制。最常见的是仅接收预定义值(即枚举值)的属性。此时,用户必须从一个标准列表中选一个值,枚举值一般用小写字母编写。例如:
<link rel="stylesheet" media="screen" href="style.css" />
用户只能将link元素的media属性设为all、screen、print等值中的一个,不能像href属性和title属性可以输入任意值。
有很多属性的值需要设置为数字,特别是描述大小和长度的属性。数字值不需要包含单位,只需输入数字本身。图像和视频的宽度和高度是有单位的,默认为像素。
有的属性(如href和src)用于引用其他文件,它们只能包含URL形式的字符串。
有一种特殊的属性称为布尔属性,这种属性的值是可选的,只要这种属性出现就表示其值为真。布尔属性是预定义好的,无法自创。例如:
<input type="email" name="emailaddr" required />
上面代码提供了一个让用户输入电子邮件地址的输入框。布尔属性required表示用户必须填写该输入框。布尔属性不需要属性值,如果一定要加上属性值,则可以编写为required="required"。