第二章 HTML5基础标签和语法

               第二章   HTML5基础标签和语法

 

       本章将详细讲解HTML的语法,以及常用的HTML标签。经过本章的学习,将学会怎样在网页上显示图片、链接、以及不同类型的文本。

       本章所有的案例都要求动手练习,切勿只当一个单纯的旁观者。单纯的阅读绝对没办法学会写一个页面,切实地把案例都敲出来并在浏览器上得到正确的效果,才能确保正确使用标签和它的属性,并在本章学习结束后没有阻碍地写出本章任务。

       本章任务:学习HTML中的最基础的元素。这些元素足够完成下面的“咖啡馆介绍页面”。需要注意的是,HTML的主要功能是使网页结构化。HTML无法控制网页的样式,所以本章案例大多不够美观,但别急,在之后的章节中,将使用CSS来解决这个问题。

       要求:

     (1)点击图2.1下面的‘查看菜单’的时候,页面会滚动到‘咖啡馆菜单’置顶的状态,如下图2.2所示

     (2)咖啡馆菜单请按照图中所示的顺序进行百分百还原,如图2.2所示

     (3)请使用两种浏览器打开你的页面,检查是否与下图所示一致

     (4)请把图片资料和文件放在一个文件夹中


图2.1  咖啡馆介绍页面1


图2.2  咖啡馆介绍页面2

       2.1  写HTML标签要遵循的规则

        经过前面的学习,已经完整体验过怎样写出一个HTML页面了,如图2.3所示。HTML页面由不同元素经过嵌套组成,下面讲解HTML页面所遵循的语法规则。


图2.3  第一章HTML代码

       2.1.1 HTML语法规则

       简单地来说,HTML的语法就是给文本加上表明文本含义的标签(Tag),让人和浏览器能够更好地理解文本。本小节主要讲解概念,建立语法体系,案例较少。如果读起来感到困惑,可以先快速地过完这一部分内容,之后遇到问题时再返回查看。

      1.HTML文档

       HTML文档以 .html或.htm为文件后缀,来告知浏览器该文件的类型。

       HTML文档的打开方式:双击.html文档即可在浏览器打开文件,如图2.4所示。


图2.4  打开HTML文件的方法

       如何在打开时选择浏览器:

       在XXX.html上单击右键,在“打开方式”中选择想要使用的浏览器,如图2.5所示。


图2.5  选择浏览器

       2.元素

       标签:HTML 标签是由尖括号包围的关键词,如:“p”是一个表明段落的关键词,给“p”加上标签,成为

标签。  元素:一个元素通常是由一个开始标签、内容,以及一个结束标签组成。结束标签中要写一个“/”来表示元素的结束,如图2.6所示。


图2.6  元素结构

       3.属性

       属性用来指定元素的附加信息,使元素个性化如图2.7、2.8所示,属性添加在开始标签中。属性由属性名和用双引号括起来的属性值组成,它们之间使用等号连接: <元素名 属性名="值1" 属性名="值2"></元素名>  


图2.7  属性


图2.8  属性

         大多数元素都可以使用的属性 

                       id       id名,唯一标识 

                       class    类名, 标识一类元素 

                      style    样式 

                     title    描述信息  

       元素名和属性名都不区分大小写,一般习惯采用小写。

       当元素拥有不止一个属性的时候,属性之间用空格隔开,如图2.9所示。


图2.9  元素拥有多个属性

       2.1.2页面的结构以及根元素

             下面是一个最简单的HTML文档,如图2.10所示。


图2.10  根元素

       <!DOCTYPE html>声明版本和文档类型

       <html>元素是页面的根元素,所有的HTML文档都应该有一个元素。<html>元素可以包含两个部分:<head>和<body>。

       <head>元素用于包含整个网页的信息。

       <title>元素里面写文档的名字,通常出现在浏览器最上面的窗口中。

       <meta> 通常用于指定网页的描述,及其他元数据。<meta>元素的charset属性告知浏览器此页面属于什么字符编码格式。如:charset=“UTF-8”表示此页面遵循unicode(万国码)的编码标准。

       <body>元素用来存放文档的具体内容。

       <p>标签是文档的内容,表示一个段落。

2.1.3 元素的嵌套

       1.什么是嵌套

        把一个元素放入另一个元素中,称为元素的嵌套。如图2.11“<head>元素嵌套在<html>元素中”,“<p>元素嵌套在<body>元素中”,嵌套是HTML页面构建的方式。


图2.11  一个普通的页面

          2.将上面的页面转换为树形图的形式来帮助理解如图2.12所示。


图2.12  元素的嵌套树形图

       3.使用元素的嵌套保证你的标签匹配

       嵌套的一个重要作用就是保证你的标记正确匹配。

       正确的标签匹配情况是:一个元素完全包含于另一个元素,如图2.13、2.14所示。


图2.13  正确嵌套的代码


图2.14   <em>元素完全嵌套在<p>元素中

       Tips:<em>标签的作用是强调内容

       当两个元素互相交叉的时候,标签的匹配出现错误,如图2.15、2.16所示。


图2.15   错误的嵌套


图2.16   <em>元素从<p>元素漏出,嵌套错误 

       错误的嵌套可能导致网页无法在浏览器上使用。谨记嵌套,可以避免标签不匹配。

2.2文本元素

2.2.1.标题——<h1>到<h6>元素

       HTML标题是通过 <h1> - <h6> 标签进行定义的,<h1> 定义最大的标题, <h6> 定义最小的标题,如图2.17、2.18所示。

       Tips:浏览器会自动地在标题的前后添加空行。

图2.17   HTML标题


图2.18  HTML标题

       请确保将<h1>到<h6>标签只用于标题,不要仅仅是为了生成粗体或大号的文本而使用标题标签。用户可以通过标题来快速浏览网页,所以用标题来呈现文档结构是很重要的。

       应该将<h1>用作主标题(最重要的),其后是 <h2>(次重要的),再其次是 <h3>,以此类推至<h6>。这和一本书的结构是一样的,有章,有节,还有小节,其实h1到h6就是这个意思。

  2.2.2 段落——<p>元素

       在一篇文章中,一般会使用分段的形式划分不同的内容,使文章易于阅读。<p>标签可以在网页中实现分段的效果。每个段落都另起一行并且段落之间会有一些垂直的距离。

       接下来通过一首古诗来了解p标签的样式 如图2.19、2.20所示。


图2.19   p标签案例


图2.20  在浏览器上显示效果

       由上面例子可以看到,浏览器会自动忽略了标签内部的换行。请记住,浏览器不会介意换行、回车和大多数的空格。因此,标签中的内容可以在任意一行开始,同一行或者任意一行结束。只需要确认元素是以开始标签开始,以结束标签结束就够了。

2.2.3 HTML 折行---<br/>元素

       如果您希望在不产生一个新段落的情况下进行换行(新行),请使用标签,如图2.21、2.22所示。


图2.21  换行符案例代码


图2.22  换行符效果

       <br>没有任何内容的元素,也没有结束标签,因为它只代表换行。这类没有标记文本和结束标签的元素称为‘空元素’。

       Tpis:

       一般来说,html元素都需要开始标签和结束标签。但是空元素例外,这一类html元素没有内容,所以不需要闭合。

       常见空标签: <br>   换行

                             <hr>     分隔线

                             <input>   文本框等

                              <img>    图片

                             <meta> 常用于指定网页的描述,关键词,文件的最后修改时间,作者及其他元数据。

       元素的注释

       在阅读一本书的时候,通常会在旁边写批注帮助理解。在代码的世界同样如此,通过写注释可以标注某一部分代码的功能,使代码易于阅读。

       如果用<!--和-->这两个标记把内容括起来,浏览器就会把它们通通都忽略掉。

       例如:在古诗最前面,加入“这是一首王维的古诗”这样的注释,且不显示在浏览器的页面中,如图2.23和2.24所示。


图2.23  元素的注释


图2.24   浏览器没有识别注释内容

2.2.4 文本格式化

       文本格式化标签可以实现文本的不同样式和意义,如<em>标签表示强调,<i>标签表示斜体,<strong>标

签表示加粗等。如图2.25、2.26所示。

       格式化文本的效果完全可以使用字体的样式来代替,之后的CSS基础中我们会详细讲解这部分内容。所以格式文本并不常用,我们只需了解即可。


图2.25   文本格式化代码


图2.26   文本格式化在浏览器上的显示效果

2.2.5 HTML 超链接--<a>元

       超链接<a>元素可以说是最重要的文本元素,先来认识一下网页中都在哪些地方使用<a>元素。

       在浏览器的地址栏中输入baidu.com进入百度首页,在搜索栏中输入“超链接”。如图2.27所示。


图2.27  超链接案例

       点击第一个词条“超链接百度百科”,会跳转到另一个页面,如图2.28所示。

       这一步操作中的跳转功能,就是通过超链接<a>元素来实现的。超链接在本质上属于一个网页的一部分,它是一种允许我们同其他网页或站点之间进行连接的元素。各个网页链接在一起后,才能真正构成一个网站。


图2.28  跳转结果

       在图2.28页面的“目录”中,点击最后一条“动态静态”,可以看到,页面跳转到了同一页面的最下部,也就是“目录”中“动态静态”的位置。如图2.29所示。


图2.29  同一页面跳转

       从这一步操作中可以了解到,超链接还可以从一个网页跳转到相同页面的不同位置。

       Tips:

       所谓超链接,是指从一个网页指向一个目标的连接关系。这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。

       案例1从一个页面跳转到另一个页面

       准备好两个页面作为素材。新建文件夹“超链接”,在文件夹内新建两个文件夹,命名为“超链接1.html”和“超链接2.html”,如图2.30所示。

       目标:使用<a>标签,“从超链接.html”跳转到“目标.html”。


图2.30  超链接文件夹

       首先,使用之前学过的元素,在目标页面中写任意内容,代码如图2.31所示。在浏览器运行测试页面是否能正常显示,结果如图2.32所示。


图2.31  目标文件代码


图2.32  在浏览器中打开目标文件


       在“超链接.html”中写入一个<a>元素,在标签内写入文本“跳转到目标页面”并且指定<a>元素的href属性为目标链接的地址,代码如图2.33所示,在浏览器打开如图2.34所示。

       这样,就在页面上成功写入了一个超链接,点击“跳转到目标页面”,页面跳转到“目标.html”。


图2.33  超链接文件代码


图2.34  在浏览器打开超链接文件


       成功跳转之后,来了解超链接中的属性和语法。

       超链接的href属性

       语法及介绍

       <a> 标签的 href 属性用于指定超链接目标的 URL,比如“baidu.com”,如图2.35所示。

       href属性的值可以是任何有效文档的相对路径或绝对路径。

图2.35  超链接href属性

       2.2.6什么绝对路径和相对路径

        1.绝对路径

       平时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径。例如一张图片的路径:C:/website/img/photo.jpg。只要看到这个路径,不需要其他信息,就知道photo.jpg文件是在C盘的website目录下的img子目录中。

        类似于这样完整的描述文件位置的路径就是绝对路径。

       怎样查看文件的绝对路径:

        在文件上单击右键,选择属性即可查看文件的路径信息,如图2.36所示。


图2.36  查看文件的绝对路径

        2.相对路径

       相对路径,顾名思义就是自己相对于目标位置,案例1中使用的就是相对路径。 例如:将文件夹1视为根目

录,文件1.html通过<a>元素链接到文件2.html。

       在图2.37中,文件2.html的绝对路径是:文件夹1/网页文件/文件2.html,相对路径是:文件2.html。


图2.37

       将文件夹“网页文件”,从文件夹1移动到文件夹2,如图2.38所示。此时,文件2.html的绝对路径是:文件夹1/文件夹2/网页文件/文件2.html,相对路径是:文件2.html。


图2.38

       我们在写一个网站的时候,一般把多个页面放在一个文件夹下。当移动项目文件夹时,文件的绝对路径发生变化,相对路径不变。所以,如果一个文件夹里面有多个页面互相跳转的时候,请使用相对路径,避免因为文件夹的移动等因素造成的路径变化。

       Tips:

       url的写法

       每使用一次”.. ”,就上溯一层父目录,如果你想上溯两层父目录,你可以这样写:“../..”

       请严格的使用HTML语言中的符号,所有字符应该是英文字符,也不可以用”\”来代替”/”

       小练习

       1.请把案例1中的相对路径改为绝对路径,尝试是否能够正常跳转。

       2.以文件夹1为根目录,请写出下面文件的路径


图2.39

      (1)在文件1.html中,写出文件3.html的绝对路径和相对路径

      (2)在文件5.html中,写出文件3.html的绝对路径和相对路径

         案例2:从一个页面跳转到另一个页面的固定位置

        本案例依然使用案例1中的两个页面作为素材,如图2.40  2.41所示。


图2.40  超链接页面


图2.41  目标页面

       页面中的某一位置夹了一个书签,通过书签来直接找到页面中这个被标记的位置。这个功能一般在目标页面的篇幅较长,出现滚动条的时候使用。

       为了有明确的视觉效果,将目标页面中的小节内容复制二十次,并将小标题从一到二十排开。使页面变长,内容变多,如图2.42、2.43、2.44所示。


图2.42  加长后的目标页面1


图2.43  加长后的目标页面2


图2.44  加长后的目标页面3

       本案例的目标是:点击超链接,直接跳转到目标页面上第十二小节。

       实现目标的思路是:给目标页面的第十二小节做标记,在超链接的href中添加这个标记,实现跳转到某一页面的标记位置。

       1.在目标页面的十二小节处做标记。

       Id属性会在文档中放置一个标志,id名是独一无二的。在一个html文档中,一个id不可以出现多次,如图2.45所示。


图2.45  加入id属性

       在html4之前,这个功能需要使用name属性来建立锚点,后被id属性代替。Html5已经不再支持name属性。

       2.在超链接中添加这个标记

       使用“#”+id名称的方式来寻找id标志,如图2.46所示。


图2.46  加入id属性

       此时,点击超链接,页面就会跳转到用id标记过的位置,如图2.47所示。


图2.47跳转到被标记的位置

   2.3  HTML图像——<img>元素      

       在 HTML 中,图像由 <img> 标签定义。

       <img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。

       要在页面上显示图像,你需要使用src属性,它的值是图像的地址,定义图像的标签如图2.48所示。

图2.48图片元素

       src属性

       <img> 标签的 src 属性是必需的。它的值是图像文件的 URL,也就是引用该图像的文件的绝对路径或相对路径。

       Tips:

       为了整理文档的存储,创作者通常会把图像文件存放在一个单独的文件夹中,而且通常会将这些目录命名为"pics" 或者 "images" 之类的名称。

       width宽度和height高度

       Width控制图片的宽度,height控制图片的高度。

       如果没有设置宽高的话,浏览器上会显示图片原本的尺寸。

       alt属性

       当图片地址有误的时候,显示alt里面的文字内容。

      小案例:设置图片的宽度和高度,并且在图片地址错误的时候用文字标注图片信息如图2.49、2.50、2.51所示。


图2.49  图片标签


图2.50  当图片地址正确的时候


图2.51  当图片地址出错的时候

       一个超链接图片

       把图片标签嵌套在超链接标签里面,得到一个超链接图片,如图2.52所示。点击图片,可以跳转到链接的地址,如图2.53、2.54所示。


图2.52  超链接图片代码示意


图2.53  超链接图片在浏览器上显示效果


图2.54   点击图片跳到连接中的地址

  2.4 列表

       列表是一种常用的将内容分类的方法。

       1.无序列表

       当列表中的顺序不重要,更改次序不影响表达的时候,通常使用无序列表<ul>元素。无序列表的子项是且只

能是<li>元素,不可以在<ul>元素中嵌套其他元素。

       不规定样式的时候,无序列表使用粗体圆点标识它的每一个子项,如图2.55、2.56所示。


图2.55  无序列表


图2.56   无序列表在浏览器上的显示

       2、有序列表

       当列表的顺序有意义并且不能随意更改的时候,要使用有序列表<ul>。同样的,有序列表的子项同样只能是<li>元素。

       不规定样式的时候,有序列表使用阿拉伯数字标识它的每一个子项,如图2.57、2.58所示。


图2.57  有序列表


图2.58  有序列表在浏览器上的展示 

       3.自定义列表

       自定义列表不仅仅是一列项目,而是项目及其注释的组合。

       自定义列表以 <dl> 标签开始。每个自定义列表项以 <dt> 开始。每个自定义列表项的定义以 <dd> 开始,如图2.59、2.60所示。


图2.59  自定义列表


图2.60  自定义列表在浏览器上的展示

       4.列表的嵌套

       列表之间可以相互嵌套如图2.61、2.62所示。


图2.61  有序列表内部嵌套了一个无序列表


图2.62  有序列表内部嵌套了一个无序列表

       列表嵌套的注意事项

       首先来观察一位同学提交的小练习是否有问题,如图2.63、2.64所示。


图2.63  图片元素


图2.64  渲染效果

       从渲染结构上看,并不能发现问题所在。但是HTML的目的并不是为了表现外观,HTML使用不同标签的目的是构建合理的结构。从结构上分析,很容易找到上述案例的错误,如图2.65所示:


图2.65  上述案例的结构

       列表是一种表示顺序的文本形式,嵌套可以表现内容之前的包含关系。分析本案例的语义,可以得知这是一

个对饮料的分类,即饮料分为咖啡、茶、果汁、雪碧、可乐几种类型。其中,咖啡又包括意式浓缩、拿铁、卡布

奇诺三种,茶包括红茶、绿茶、果茶三种。

       在上述案例中,1.将咖啡的具体种类与饮料种类放在了同一个级别,引起了结构的混淆。2.违反了<ul>元

素只能有<li>这一种元素作为子项。

本章作业:请完成本章开头的“本章任务”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,591评论 18 139
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,406评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,725评论 1 92
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,413评论 25 707
  • 光阴荏苒,倏忽已到而立之年。回首前尘,历历在目。展望未来,壮志未酬。 背上的行囊不知不觉沉重了许多,酸甜苦...
    四合道人阅读 1,054评论 4 4