列表
现在,让我们把目光转向列表。列表在生活中无处不在——从你的购物清单,到你每天回家时下意识遵循的方向列表,再到你在这些教程中遵循的说明列表!HTML 有一套方便的元素,可以让我们定义不同类型的列表,这一点你可能不会感到惊讶。在 Web 中,我们有三种类型的列表:无序列表、有序列表和描述列表。本课将向你展示如何使用不同类型的列表。
前提: | 基本熟悉了基本 HTML 语法中所涵盖的内容。 |
---|---|
学习成果: |
|
无序列表
主动学习:标记无序列表
尝试编辑下面的运行实例来创建一个 HTML 无序列表。
有序列表
有序列表需要按照项目的顺序列出来——让我们以一组方向指示为例:
沿这条路走到头 右转 直行穿过第一个十字路口 在第三个十字路口处左转 继续走 300 米,学校就在你的右手边
这个标记的结构和无序列表一样,除了需要用 <ol>
元素而不是 <ul>
元素将所有项目包裹:
<ol>
<li>沿这条路走到头</li>
<li>右转</li>
<li>直行穿过第一个十字路口</li>
<li>在第三个十字路口处左转</li>
<li>继续走 300 米,学校就在你的右手边</li>
</ol>
主动学习:标记有序列表
尝试编辑下面的示例来创建一个 HTML 有序列表:
主动学习:标记我们的食谱
到了这里,你拥有了所有你需要的信息来标记我们的食谱样例。你可以选择创建一份 text-start.html 起始文件的本地拷贝并在本地完成它,或者在下面的可编辑示例中进行。在本地做可能会更好,因为这样你就可以保存你正在做的工作,而如果你把它填到可编辑的例子中,在你下次打开页面时,它就会丢失。各有利弊吧。
如果你感到棘手,你可以随时按下显示答案按钮,或者在我们的 GitHub 仓库上检查 text-complete.html 样例。
嵌套列表
将一个列表嵌入到另一个列表是完全可以的。你可能想让一些子项目列在一级项目之下。让我们从食谱示例中获取第二个列表:
<ol>
<li>
先用蛋白一个、盐半茶匙及淀粉两大匙搅拌均匀,调成“腌料”,鸡胸肉切成约一厘米见方的碎丁并用“腌料”搅拌均匀,腌渍半小时。
</li>
<li>
用酱油一大匙、淀粉水一大匙、糖半茶匙、盐四分之一茶匙、白醋一茶匙、蒜末半茶匙调拌均匀,调成“综合调味料”。
</li>
<li>
鸡丁腌好以后,色拉油下锅烧热,先将鸡丁倒入锅内,用大火快炸半分钟,炸到变色之后,捞出来沥干油汁备用。
</li>
<li>
在锅里留下约两大匙油,烧热后将切好的干辣椒下锅,用小火炒香后,再放入花椒粒和葱段一起爆香。随后鸡丁重新下锅,用大火快炒片刻后,再倒入“综合调味料”继续快炒。
</li>
<li>如果你采用正宗川菜做法,最后只需加入花生米,炒拌几下就可以起锅了。</li>
<li>如果你在北方,可加入黄瓜丁、胡萝卜丁和花生米,翻炒后起锅。</li>
</ol>
由于最后两项与它们的前一项非常密切相关(它们看起来更像该项的子项或选项),将它们编辑成无序列表,并嵌套在该项的子项中可能更合理。就像下面这样:
<ol>
<li>
先用蛋白一个、盐半茶匙及淀粉两大匙搅拌均匀,调成“腌料”,鸡胸肉切成约一厘米见方的碎丁并用“腌料”搅拌均匀,腌渍半小时。
</li>
<li>
用酱油一大匙、淀粉水一大匙、糖半茶匙、盐四分之一茶匙、白醋一茶匙、蒜末半茶匙调拌均匀,调成“综合调味料”。
</li>
<li>
鸡丁腌好以后,色拉油下锅烧热,先将鸡丁倒入锅内,用大火快炸半分钟,炸到变色之后,捞出来沥干油汁备用。
</li>
<li>
在锅里留下约两大匙油,烧热后将切好的干辣椒下锅,用小火炒香后,再放入花椒粒和葱段一起爆香。随后鸡丁重新下锅,用大火快炒片刻后,再倒入“综合调味料”继续快炒。
<ul>
<li>
如果你采用正宗川菜做法,最后只需加入花生米,炒拌几下就可以起锅了。
</li>
<li>如果你在北方,可加入黄瓜丁、胡萝卜丁和花生米,翻炒后起锅。</li>
</ul>
</li>
</ol>
尝试回到上一个实践操作的例子中,并更新第二个列表。
描述列表
描述列表的目的是标记一组项目及其相关描述,如术语和定义或问题和答案。让我们来看一组术语和定义的示例:
内心独白 戏剧中,某个角色对自己的内心活动或感受进行念白表演,这些台词只面向观众,而其他角色不会听到。 语言独白 戏剧中,某个角色把自己的想法直接进行念白表演,观众和其他角色都可以听到。 旁白 戏剧中,为渲染幽默或戏剧性效果而进行的场景之外的补充注释念白,只面向观众,内容一般都是角色的感受、想法、以及一些背景信息等。
描述列表使用与其他列表类型不同的包裹标签——<dl>
;此外,每一项都用 <dt>
(description term,描述术语)元素包裹。每个描述都用 <dd>
(description definition,描述定义)元素包裹。
描述列表示例
让我们来完成下面的标记例子:
<dl>
<dt>内心独白</dt>
<dd>
戏剧中,某个角色对自己的内心活动或感受进行念白表演,这些台词只面向观众,而其他角色不会听到。
</dd>
<dt>语言独白</dt>
<dd>
戏剧中,某个角色把自己的想法直接进行念白表演,观众和其他角色都可以听到。
</dd>
<dt>旁白</dt>
<dd>
戏剧中,为渲染幽默或戏剧性效果而进行的场景之外的补充注释念白,只面向观众,内容一般都是角色的感受、想法、以及一些背景信息等。
</dd>
</dl>
浏览器的默认样式会在描述列表的术语及其定义之间产生缩进。
单个术语的多个描述
请注意,一个术语可以同时有多个描述,例如:
<dl>
<dt>旁白</dt>
<dd>
戏剧中,为渲染幽默或戏剧性效果而进行的场景之外的补充注释念白,只面向观众,内容一般都是角色的感受、想法、以及一些背景信息等。
</dd>
<dd>
写作中,指与当前主题相关的一段内容,通常不适于直接置于内容主线中,因此置于附近的其他位置(通常位于主线内容旁边一个文本框内)。
</dd>
</dl>
主动学习:标记一组定义
现在是时候尝试一下描述列表了。在输入区域的原始文本里添加相应的元素,使得它在输出区域是以描述列表的形式出现。如果你喜欢,你也可以使用你自己的描述术语和描述。
如果你做错了,你可以随时点击重置按钮。如果实在进行不下去,可以点击显示答案。
技能测试!
关于 HTML 基本语义元素的三篇文章已经读完,但你还记得最重要的信息吗?你可以找到一些进一步的测试,以验证你在继续前进之前已经保留了这些信息——参见技能测试:HTML 文本基础知识。