第二章 网站开发基础之HTML教程 - 一、HTML介绍

一、HTML介绍

(一)、什么是HTML?

    HTML是HyperText Markup Language的简写,中文名为:超文本标记语言。
    “超文本”按其本义来讲,是超级链接文本,它是使用链接的形式,从一个页面链接至另一个页面,从一个字或一个词或一句话延伸出更详细的解说或相关的解说。这有别于我们传统的文字阅读形式,传统的文字阅读,以一本书为例,无论如何阅读都将局限于该书籍本身;但超文本不是这样,以一句偈言“菩提本无树,明镜亦非台”为例,我们不明白“菩提”是什么意思,而“菩提”刚好制作了超级链接,它链接至“菩提”的详解页面,我们点击“菩提”二字即可链接至详解页面,当我们在详解页面有新的疑惑出现时,又有相关的超级链接可以点击。类似的,这种超文本形式,它是无限延伸的文本。
    按官方定义来讲,超文本标记语言(HTML),是一种将超文本以及超文本相关的其他信息结合起来,展现出关于文档结构、超链接信息和数据处理细节的电脑文字编码,它使用标记进行标识。这种HTML标记称为HTML标签。HTML代码需要浏览器进行解释,并由浏览器解释后渲染显示出来。也就是:HTML有一定的格式、规则和标准,浏览器根据该既定的格式、规则和标准来解析HTML,并将HTML所描述的内容、样式效果呈现出来。
    为了更好的理解HTML,我们来做个设想:假设这个世界上还没有HTML,我们自己来发明和创造它。那么我们可能会这么来制定HTML格式、规则和标准:

    浏览器,请用“________________”的样式来显示文字:“________________”。
    浏览器,请将文字“________________”链接到另一个页面:“________________”。

    为了方便解说,我们这里只定义这两个规则,并称之为“模拟标准”。这两个规则为固定的格式,以使浏览器能够根据格式而识别它们。在编写HTML代码时,只需要把下划线的填空处补充完整即可完成一句HTML代码的编写,比如:

    浏览器,请用“红色、加粗     ”的样式来显示文字:“年年岁岁花相似    ”。
    浏览器,请将文字“岁岁年年人不同   ”链接到另一个页面:“SSNNRBT.html     ”。

    然后我们公开发布这个“模拟标准”,并要求各个浏览器的开发商遵守这个“模拟标准”来开发浏览器。当然,理论上第一个浏览器是由我们标准的制定者来开发的。
    上方的“模拟标准”在表述大量的HTML内容时会很繁琐而复杂,我们可以更精练一些,将规则修改成这样:

    【文字为“年年岁岁花相似”、颜色为“红色”、粗体为“是”】
    【文字为“岁岁年年人不同”、链接为“SSNNRBT.html”】

    如此我们大致这样理解:HTML就是以实现超文本为目的而制定的一个编码标准,它让浏览器能够正常解析并显示出这些编码所要表达的内容。
    比较遗憾的是,我们没有机会创造HTML,HTML已经被发明出来,并有了自己的标准。HTML由一个叫W3C的公益组织长期维护,其标准我们称之为W3C标准。我们学习HTML时,以W3C所制定的标准来学习。
    W3C是World Wide Web Consortium的简写,中文称为万维网联盟,它创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构。最开始它由Web的发明者Tim Berners-Lee(蒂姆•伯纳斯-李)创立和领导。在商界有一句话是“一流企业卖标准,二流企业卖产品,三流企业卖苦力”,因为标准的制定者说“对的”就会是“对的”,说“错的”就肯定是“错的”,它能够将利益的获得最大化。W3C本可以制定自己的商业标准,但它没有,它将Web技术标准开放和公益化,它是一个公益组织、非盈利性机构。在后来的发展中,其联盟会员单位遍布全球,由各行各业的组织、机构和政府组成,联盟会员共同参与Web标准的制定与维护。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南。让我们向W3C致敬。
    不过W3C所制定的标准属于推荐标准,而非强制标准,并且各项标准都在不断修正和升级,所以许多浏览器开发商只是支持部分或者支持大部分W3C标准,很多浏览器开发商还添加制定了自己的一些新规则,也正是这样造成了网页标准在浏览器中的混乱。在以前IE一家独大的时候,只要开发的网页在IE里能正常浏览就没什么问题;但现在的浏览器已经不是IE说了算,Google Chrome、火狐、QQ浏览器、360浏览器、遨游、世界之窗、淘宝浏览器……各自割据一定的市场,IE浏览器(IE6、IE7、IE8)的许多Bug和不完全支持W3C标准的问题,造成许多正常的HTML代码在IE里不能按预定的结果正常显示(比如页面内容错开、错乱等),这也导致越来越多的网站开发者及网站运营者抵制IE,因为IE的不正常导致开发成本(时间、精力、金钱)增加。这种情况下程序员要做的是:以W3C标准来开发制作网页。我们按W3C标准来学习和开发网页就不会有大问题,开发出来的代码也能在各个浏览器中尽可能的兼容、正常显示。
    为了兼容更多的浏览器,以及兼容同一浏览器的低版本,通常不推荐使用新出的HTML标准(比如HTML 5),因为新出的HTML标准通常只有最新的浏览器才支持,而我们无法控制网站浏览者所使用的浏览器就是最新的版本。在出现不兼容的情况时,我们跟网站的使用者说“请使用Chrome浏览器”,或者说“请使用IE9”,是很没有道理的,浏览器多元化的时代,我们无权限定网站的浏览者使用什么浏览器,网站开发者所能做的是:HTML代码尽可能的兼容更多的浏览器和同一浏览器的各个版本。

 

(二)、HTML的重要性

    HTML是一套编码规则,拆解开了它又是由一个一个的标签构成,所以HTML又可以理解为众多HTML标签的集合,就像文章有一定的语法规则,文章拆解开了它又是由一个一个的字构成,文章又可以理解为众多字的集合。
    HTML是所有网页的基础,任何网页都含有HTML代码,若没有HTML代码则浏览器无法解释并渲染显示出任何内容,就如要写文章、说话,需要有“字”一样。想学好网站开发,HTML是所有基础中的基础。
    网页程序语言(如ASP、PHP、.NET、JSP等),经一系列的计算、运算后,最后返回输出到浏览器里的仍然是HTML代码(准确的说,最后返回输出到浏览器里的是前端代码,包括HTML、JavaScript、CSS代码,但JavaScript和CSS代码嵌入在HTML代码中,总的说是HTML代码也可以)。


(三)、HTML标签的结构及元素分类

    HTML是怎么样来描述网页的?可以肯定的是,它不是我们之前试图发明的那种格式和大括号【】。HTML使用标记标签(markup tag)来描述网页,标记标签由尖括号“<>”包围一个关键词构成,比如“”、“”、“”、“

”。
    标记标签通常是成对出现的,比如
,其第一个标签是开始标签,第二个标签是结束标签。成对出现的标签,通常在开始标签和结束标签之间可以放置文本或嵌套其它标签。这类标签称为“闭合标签”。标签为什么要闭合?每个标签都有自己的功用,用于表述某一项功能,有自己的作用区域,所以闭合以划分作用区域,比如指定文字的颜色,需要指定颜色的应用是从哪个文字开始到哪个文字结束,通过闭合很容易实现了作用区域的指定。
    另外还有一小部分标签并没有成对出现,比如

等,这类标签在某几个高版本HTML标准中(XHTML系列的版本),被要求写成:

,这类标签称为“自闭合标签”。这有历史原因,HTML编码规则是不断升级的,它有很多个版本,HTML2.0、HTML3.2、HTML4.0、XHTML1.0……到HTML5,早期低版本的HTML编码规则并不要求非闭合标签必须自闭合,但在后来的XHTML1.0、XHTML1.1中(XHTML是由3种HTML4标准文件根据XML1.0标准重组而成),规定标签有开始就必须有结束,这类单独使用、不再放置文字或嵌套其它标签的标签,必须自闭合,它自身表述了标签的开始和结束。常见的自闭合标签有:br、hr、img、input、link、meta、area、base、embed、param。但在最新的HTML5版本中又规定不需要自闭合。到底要不要闭合,则看网页所使用的HTML版本,凡XHTML版本则需要自闭合(必须类似的写成“
”),非XHTML版本则不需要自闭合(写成“
”)。HTML版本知识在后续章节中另行讲述。
    闭合标签可以再内嵌其它标记标签,每组闭合标签必须成对出现、正常嵌套,不可交叉嵌套。如:

HTML标签的结构及元素分类
图2-1

    一组闭合的标签,我们称之为一个元素,即:组成一个元素,

也是一个元素。元素分为块级元素(block element)和内联元素(inline element)。
    块级元素的特点是:
    1.(渲染效果)总是在新行上开始;
    2.宽度、高度、外边距、内边距都可设置;
    3.宽度除非设定一个值,否则默认是它上一级标签宽度的100%;
    4.它可以容纳文本、内联元素和块级元素。
    内联元素的特点是:
    1.(渲染效果)和其他内联元素同在一行上,除非该行的宽度不够显示才自动换行显示;
    2.宽度、高度、外边距、内边距都不可设置;
    3.宽度就是它的内容(如文字、图片、多媒体等)的宽度,不可设置;
    4.它只能容纳文本或者内联元素。
    常见的块级元素:div、p、table、form、h1、h2、h3、h4、h5、h6、hr、ol、ul、dl、pre。
    常见的内联元素:span、a、b、i、br、img、input、label、select、textarea、strong、sub、sup、u、s、font。
    我们操作一个实例来查看块级元素与内联元素的效果与差别:





块级元素与内联元素。为了易于区分,块级元素2加了实线边框,内联元素2加了虚线边框。


这是块级元素1,渲染效果独占一行
这是块级元素2,可指定宽度、高度

这是内联元素1,渲染效果不会独占一行 这是内联元素2,指定宽度、高度无效

    请打开Dreamweaver,点击工具栏“文件”→“新建”→选择“空白页”的“HTML”,“布局”选择“无”,“文档类型”选“HTML 5”,点“创建”按钮。在代码状态下输入以上代码,按ctrl+s(或者点击工具栏“文件”→“保存”),保存到“E:\UPUPW_AP5.6\htdocs\”目录中,文件名为“test.html”。
    在火狐浏览器地址栏中输入“http://127.0.0.1/test.html”并回车,即可看到网页效果,如下:

第二章 网站开发基础之HTML教程 - 一、HTML介绍_第1张图片
图2-2

    HTML标签有很多个,不同的HTML标签向浏览器表述不同的内容和意义,比如“a”标签表述链接,“b”标签表述加粗效果。也正因为HTML标签的多和表述意义不同,使得网页能够呈现出丰富的内容。(可能有同学要问,有没有“c”“d”标签?目前HTML里没有“c”“d”这两个标签。“a”标签的a=anchor=锚,“b”标签的b=bold=刚劲,都是英文缩写,凑巧是a、b这两个标签)

    HTML标签在HTML 5标准之前的标准里,允许大小写,如:都可以;但最新的HTML 5标准则要求必须使用小写。为了方便记忆和养成正确的输入习惯,网站开发时,HTML标签请一律使用小写,如a标签,写为,而不写为

 

(四)、HTML标签的属性

    不同的HTML标签,可以设置不同的属性。好比,碗和筷子,拥有不同的属性,碗的属性可以是大小、材质,而筷子的属性可以是长短、材质。
    比如a是链接标签,拥有href和target等属性,href用于指定要链接到的网址,target用于指定打开链接的方式(在本页面打开、新页面打开、父页面打开等),举例:

    点击以新窗口方式链接到百度网站

    上面这一行a链接标签代码,如果放在网页中,我们将看到一行文字“点击以新窗口方式链到百度网站”,当鼠标点击这行文字时,会以新窗口的方式弹出页面,到达百度网站首页。其中href的链接地址可以随意指定,target的值则有固定的几个项,这些项是HTML规范里规定好的:_blank、
_parent、_self、_top、(framename)。a标签除了href和target属性,还有其它不常用属性(可以在Dreamweaver里输入“”,然后在“     HTML标签的属性,通常由关键字(key,属性名)和值(value,属性值)构成,如a标签里“target”是关键字(key),“_blank”是值(value)。关键字推荐使用小写;关键字与值之间用“=”号连接,值使用英文半角双引号引用,也可以使用英文半角单引号引用。如:都可以,但推荐使用双引号。多个属性之间必须用空格隔开,可以一个空格,也可以多个空格,推荐一个空格即可。
    HTML标签中还有一种特殊的属性,称为布尔值属性(boolean,用于逻辑判断,其值只有真或假)。布尔值属性只需要存在关键字,不需要指定值,即布尔值属性如果存在,则其表述了该属性为真,如果对布尔值属性设置值,无论设置什么值都代表真;布尔值属性如果不存在,则表述了该属性为假。布尔值属性只有四个:multiple、readonly、disabled、checked,在后面的章节中另外讲解。我们先只讲解HTML标签的普通属性,其结构和代码规则如下图:

第二章 网站开发基础之HTML教程 - 一、HTML介绍_第2张图片
图2-3

    属性中使用双引号时,若值需要用到引号,值内可以使用单引号;属性中使用单引号时,若值需要用到引号,值内可以使用双引号;其它情况则需要转义。示范代码如下:

1.以下四种写法都是正确的
(1)

值用双引号括起来,当值含有引号时,使用单引号

(2)
值用单引号括起来,当值含有引号时,使用双引号

(3)
值用双引号括起来,当值含有双引号时,使用转义符(斜杠)转义

(4)
值用单引号括起来,当值含有单引号时,使用转义符(斜杠)转义

2.以下两种写法是错误的
(1)
这种情况,浏览器会识别错误,会认为第1和第2个双引号之间是值

(2)
这种情况,浏览器会识别错误,会认为第1和第2个单引号之间是值

 

(五)、每一个标准网页的HTML结构

    每一个标准网页的HTML标签结构一定属于下面两种结构之一:



标准单页网页





框架集网页



      任何网页都在这两个HTML标签结构的基础上,嵌进更多的HTML标签扩充而成。标准单页网页与框架集网页是独立互斥的,每一个标准网页要么是标准单页网页,要么是框架集网页。框架集网页可以实现在一个页面中嵌入更多的页面,每一个页面被放置在一个子框架里。框架集在后面章节中另行讲解,这里先只讲解标准单页。
    任何一个标准单页含两个或或或<body>标签都是错误的,每一个标准单页有、且仅有一套标准单页标签结构,但可以包含除frameset标签之外的多种、多个其它的HTML标签,如div、span、a等。HTML标签之间换行、用制表符缩进(键盘最左边的Tab键)、用空格隔开都不影响代码的正确性,如下面示例的三个排版都是可以的、正确的,浏览器都能识别和处理。但为了让代码易于阅读和维护,建议使用中间的排版方式来编写代码,即合理的使用换行、缩进让标签层次分明。</p> <table border="0"> <tbody> <tr> <td><html><br> <head><br> <title>




   
       
   
   
   
排版1 排版2 排版3

    错误代码示例:





























两个title 两个head 两个body 嵌套错误

    之间,可以放置一些HTML标签,用于:引用脚本文件、引用样式表文件、提供网页元信息等,这个区域将描述文档的各种属性和信息,包括文档的标题和文档的关系等。通常情况下,这里所包含的数据都不会真正作为内容渲染显示给浏览者,即浏览器不会将之间的HTML标签渲染为内容呈现出来,而是作为一个网页的描述信息进行登记,以供之间的HTML标签进行调用,或者作为整个网页的配置信息进行统一配置。下面这些标签可用在 head 部分:, , ,

你可能感兴趣的:(陈子-零基础网站开发教程)