HTML5+CSS3+JavaScript从入门到精通:上册(微课精编版·第2版)
上QQ阅读APP看书,第一时间看更新

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"。