首页 > 网站 > WEB开发 > 正文

第六章——严肃的HTML:标准及其他

2024-04-27 15:12:48
字体:
来源:转载
供稿:网友

HTML发展简史

HTML版本 描述
HTML1.0~HTML2.0(1989~1991) 关于HTML需要知道的东西并不多,且页面不好看,不过至少已经支持超文本。没有人关心表现,几乎Web上的每一个人都有他们自己的“主页”。
HTML3(1995) 那时正经历漫长、残酷的“浏览器战争”。Netspace和Microsoft都在试图争霸世界。在这场战争中,每个浏览器公司都在不断增加自己的专用扩展包,试图保持领先,军备竞赛就此展开。不仅如此,那个时候,通常你必须写两个单独的Web页面:一个用于Netspace浏览器,另一个用于Internet Explorer。
HTML4(1998) 万维网协会(World Wide Web Consortium),又称为W3C,制定了一个计划:创建一个唯一的HTML“标准”,这个计划的关键是将HTML的结构和表现分解到两种语言,一种语言用于实现结构(HTML),另一种语言用于表现(CSS),另外要求获得最大利益的浏览器制造商采用这些标准。
HTML4.01(1999) HTML4.01在1999年闪亮登场,成为接下来十年中HTML的“必备”版本。4.01与4.0并没有太大变化,只是在一些方面做了些修补。
XHTML1.0(2001) 那时一个新兴事物开始引起所有人的注意,这个新兴事物就是xml。最后HTML和XML不情愿地结合在一起,XHTML1.0就此诞生。XHTML承诺,由于他的严格,再加上他提供的一些新方法,只要遵循这个标准, Web的所有争端将就此平息。唯一的问题是,大多数人们很讨厌XHTML。他们并不想要一种编写Web页面的新方法,只是希望改进HTML4.01已有的特性。Web开发人员对HTML的灵活性更感兴趣,而不是XHTML的严格性。另外,这些开发人员越来越希望把时间用来创建更像是引用的Web页面,而不只是文档。
HTML5(2009~) 由于这个版本支持HTML4.01标准的大部分特性,而且还提供了一些新特性,可以体现Web新的发展,所以HTML5得到了大家的欢迎。另外,基于一些新特性,如支持类似博客的元素、新的视频和图形功能,以及一大堆用来构建Web应用的功能,HTML5注定成为大家公认的标准。

我们找到了一些古老的HTML4.01和XHTML1.1页面。这些页面使用了一个doctype,放在HTML页面的最上面,告诉浏览器所使用的HTML版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

这里为浏览器指定了这个页面的文档类型。注意:这不是一个HTML元素,在开始的“<”后面有一个“!”,这说明它与众不同。

html:这表示这个<html>是页面中的根(第一个)元素。PUBLIC:这表示HTML4.01标准是公共可用的。“-//W3C//DTD HTML 4.01//EN”:这部分表示我们在使用HTML4.01版本,另外这个HTML标记用英语编写。“http://www.w3.org/TR/html4/strict.dtd“:这指向一个文件,标识这个特定的标准。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

这仍然是一个HTML版本(结合XML的版本),这个对应XHTML1.1版本,另外它还有一个URL指向XHTML1.1的定义。

新的、改进的HTML5

现在我们很清楚原来的doctype相当复杂,版本号和丑陋的语法混杂在一起。不过随着HTML5的到来,doctype已经得到简化,所以现在我们要做的就是告诉浏览器我们在使用“HTML”,不用再担心特定的版本号或语言,也不同指向某个标准。实际上,当浏览器看到:

<!DOCTYPE html>

它就认为你在使用标准HTML。不再考虑版本号,也不考虑标准在什么位置,实际上HTML标准将变成一个“活的标准”,这意味着它会根据需要继续发展和变化,不过不再有固定的版本号。

HTML新的“活标准”

HTML不会再有版本6、7、8了,因为制定标准的人已经把这个规范变成一个活的标准,它会随着技术的发展形成相应的文档,所以不再有版本号,你甚至可以不再把它叫做HTML5,因为从现在开始它只是“HTML”。 这里,我们还须了解一个知识——向后兼容性(backwards compatibility)。向后兼容性表示我们可以继续向HTML增加新的内容,浏览器(最终)会支持这个新内容,不过它还会继续支持原来的内容。所以,我们今天写的HTML页面将会继续正常工作,甚至以后增加了新的特性之后也仍然能很好地工作。

问:上面我们提到了规范,那么它究竟是什么? 答:规范就是一个文档,指定了HTML标准是什么。也就是说,HTML中有哪些元素和属性等这个文档由万维网协会(World Wide Web Consortium,简称为W3C)维护。

增加一个<meta>指定字符编码

字符编码告诉浏览器页面中使用了哪一种字符。 字符编码为我们提供了一种方法,可以在计算机上表示某种语言中的所有字母、数字和其他符号。你可能知道这样一些编码,如ASCII,甚至莫尔斯码,还有很多其他的编码。幸运的是,如今标准已经统一为Unicode字符编码。采用Unicode,一种编码就可以表示所有语言。要为Web页面指定Unicode,需要在HTML中加一个<meta>标记,如下所示:

<meta charset="utf-8">meta:表示我们要告诉浏览器关于页面的一些信息。charset:就像其他HTML标记一样,<meta>标记也有一些属性,即在charset属性中指定字符编码。utf-8:utf-8(有时也写作UTF-8)是Unicode编码系列中的一个编码(这个系列中还有很多其他编码)。Web页面中使用的就是“utf-8”。utf-8中的u表示Unicode,Unicode是很多常用软件应用和操作系统都支持的一个字符集,这也是Web选择的编码,因为它支持所有语言和多语种文档(即多种语言的文档),它还与ASCII兼容(ASCII是英语文档常用的一种编码)。

如果要是以前的Web开发人员,可能还看见过这样的<meta>标记:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

这是HTML4.01和更早版本中<meta>标记的格式。在HTML5中,可以直接写为<meta charset="utf-8">

注意:我们须使用utf-8编码来保存我们的文件。因为为服务器提供的文件的编码要与<meta>标记中指定的编码一致

HTML5与HTML4.01相比有哪些大的改进?

HTML5的好处有三方面:

首先,HTML5中提供了一些新元素和属性,这些新元素和新属性很酷,另外一些可以帮助你编写更好的页面。其次,它有很多新特性,允许Web开发人员用HTML5创建Web应用。Web应用就是表现得像应用一样的Web页面,而不只是静态Web页面。最后,HTML5规范比HTML以前的版本健壮得多。

HTML简明指南

在这个简明指南中,我们把编写合法HTML页面的做法汇集成一组常识性的原则:

一定要以<doctype>开头。 每个页面都要从一个doctype开始,这样能让浏览器顺利开展工作。任何时候都要使用<!DOCTYPE html>,除非你确实在写HTML4.01或XHTML。<html>元素:不能没有它。 紧接着doctype,<html>元素必须是Web页面的最顶层元素或根元素。所以,在doctype后面,由<html>标记开始你的页面,</html>标记结束页面,页面中的所有其他内容都嵌套在这个元素中。记住,要使用<head><body>编写更好的HTML。 只有<head><body>元素能直接放在<html>元素中。这说明,所有其他元素都必须放在<head><body>元素中。没有例外!在<head>中包含一个<meta charset="utf-8">标记。浏览器会感谢你的,用户在你的博客上阅读世界各地用户发表的评论时,也会因为你指定了正确的字符编码而感谢你。没有<title><head>算什么? 一定要在<head>元素中包含一个<title>元素。这时雷打不动的原则。如果没有做到,则会得到不符合标准的HTML。只能在<head>元素中放置<title><meta><style>元素。嵌套某些元素时要当心。 在这里提供的原则中,嵌套规则相当灵活。不过有一些情况是没有意义的。不要把<a>元素嵌在另一个<a>元素中,因为这样会让访问者很迷惑。另外,不允许在<img>等void元素中嵌套其他内联元素。检查属性! 有些元素属性是必要的,有些则是可选的。例如,如果<img>元素没有src属性,就没有什么意义,现在你还知道了,alt属性也是必要的。在学习过程中,要逐渐熟悉各个元素的必要和可选属性。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表