前端开发需要遵循的Web标准

作者: 分类:Web前端 发布日期:2009-08-20 15:56 已有:2 条评论 发表评论

前面的一些文章中,我们了解了什么是Web标准以及使用Web标准的种种好处,你是否已经动心了呢?是的,我动心了,我是一名Web的前端开发人员,或者我想成为一名Web前端开发人员为中国的Web事业做点自己的贡献,但是,前面你介绍的太笼统了,我想动手去学习了,快告诉我都要学些什么具体的知识和技术吧!

是的,这就是我即将要讲到的,Web前端开发过程之中需要遵循的具体的Web标准。而在这之前,我们首先需要了解的一种理念就是,在Web前端的开发制作之中,会分为结构、表现和行为三方面,而依据标准的规范要求,这三个方面应该是相互分离的。

下面我们将按照结构、表现和行为三个层面对Web前端开发过程中需要遵循的Web标准进行一个较为细致的分析和描述。

结构化文本标记语言HTML

结构化标记,这是每个Web文档的基础所在。结构化文本标记语言英文简称HTML或者XHTML,是由一些列包含属性的元素组成的标记语言。这些元素用于标记文档中各种不同类型的内容,并规定每部分的内容在Web浏览器中如何被渲染。

HTML的元素用来定义内容类型,而属性用来定义这些元素的附加信息,例如识别元素的ID,或一个链接指向的位置。必须牢记的一点是,标记应该尽可能地语义化,即应该尽可能精确地去描述内容的功能。下图是一个典型的HTML元素的结构剖析图。

HTML元素结构剖析图

HTML元素结构剖析图

HTML是HyperText Mark-up Language的英文缩写,中文翻译为超文本标记语言。那么XHTML又是哪路大仙呢?XHTML是The Extensible HyperText Markup Language的英文缩写,可以翻译为可扩展超文本标识语言。

HTML是一种基本的Web标记语言,XHTML是一个基于XML的Web标记语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML。本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。

我是该用HTML呢,还是XHTML?两者之间到底有什么差别呢?其实它们的功能是大体一样的,两者最大的差别是在结构上。下面我们用一个表格的形式对比一下两者之间的具体差别。

HTML XHTML
元素和属性是大小写不敏感的,<div id=”header”>等同于<DIV ID=”HEADER”>。 元素和属性是大小写敏感的,都以小写形式书写。
一些元素不需要结束标签(例如 <p>),而另一些元素禁止用结束标签(例如 <img>)。 所有元素都必须有结束标签(例如 <p>这是一个段落</p>)。空元素的格式是,在起始标签中包含一个斜杠(例如,<br>应该写为<br />)。

如果你将XHTML文件用作text/html, 则必须对所有被定义为“空”的元素使用简写语法,并在 />前加上一个空格。对任何未被定义为“空”的元素,即使其中无任何内容,也必须使用完整格式的标记(有单独的起始标签和结束标签)。

一些属性值可以不用加引号 属性值必须要在引号中
服务器须以 text/html 这种媒体类型将HTML发送到客户端。 XHTML使用 application/xhtml+xml 这种媒体类型,也可使用application/xml,text/xml 或 text/html。如果使用 text/html,则必须遵循 HTML 兼容性指导原则,因为这样浏览器将把其当作HTML处理。
一些属性可简写(如 <option selected>)。 所有属性都必须使用完整的属性格式(如 <option selected=”selected”>)。

结构化标记的HTML是Web标准之中的最为基础和核心的内容,它是用来描述Web文档的基本结构骨架的。HTML语法简单,但是用起来并把它用好却也不是一件容易的事情,你不但要深入了解每个结构标签的含义,更要去深入研究各个标签的结构语义和具体的应用语境和环境。同时,HTML是后续学习表现语言CSS和文档对象模型DOM和行为脚本语言JavaScript的基础,因而这一部分的内容需要深入、仔细得去进行学习和掌握。后续我们会按照语义分类的方式对HTML进行深入细致的讲解。

表现类语言CSS

CSS,Cascading Style Sheets的英文缩写,直译过来的汉语意思是层叠样式表,是用来描述Web文档的外观表现的。也就是在HTML搭建好的骨架上面去进行合理的布局和装修施工,以还原Web页面的设计原型。

一开始的时候,CSS主要用来定义一些字体的属性和外观,随着主流浏览器对CSS这一表现类语言的支持,现在CSS开始越来越多地应用到Web前端的设计还开发之中,用来描述Web文档的布局以及视觉外观。

使用CSS,你不但可以为HTML元素改变或添加颜色、背景、字体大小、样式,还可以在网页内不同的位置对元素进行定位。使用CSS来应用样式,主要有三种方式:一、 对元素的默认属性进行重新定义;二、针对一个ID应用一种样式;三、针对一个类(class)应用一种样式。下面我们用具体实例分别讲述一下这三种方式的实现方式和应用方法。

  • 1、对元素的默认属性进行重新定义。通过向某一个HTML标签元素设定样式规则,可以改变这个元素标签的默认浏览器渲染规则。例如,通常Web文档中的段落文本默认是现实为黑色的,通过为p标签设置合适的属性就可以改变这一默认属性。

    p {color:red;}

    这样,所有在<p>跟</p>之间包含的段落文本的颜色就会变成红色了。

  • 2、针对一个ID应用一种样式。定义一个ID,并将这个ID赋予某个HTML元素标签(在一个Web页面中,每一个ID只能使用一次),这样就可以更好地控制这个唯一ID的相关属性了。例如,上面的例子,你不想更改所有段落的文本颜色,而只想改变某一个段落的颜色,那么只需要在这个段落上添加一个唯一ID:

    <p id=”important”>这里是一个段落文本</p>

    然后对其添加如下的CSS规则:

    #important {color:red;}

    这样做,该CSS规则只会应用于Web页面中ID属性为important的段落(#是CSS中用于指明ID的符号)。

  • 3、针对一个类应用一种样式。类与ID类似,它与ID的区别在于每个Web页面中你可以有多个相同的类。接着上面为段落改变文字颜色的例子讲,如果希望网页中的前两个段落的文字显示红色,你可以分别向这两个段落添加类:

    <p class=”important”>这里是第一个段落文本</p>

    <p class=”important”>这里是第二个段落文本</p>

    然后,添加如下的CSS规则:

    .important {color:red;}

    这样,添加了名为important的类的前两个段落文本的颜色就变成红色了。需要指出的是,在这个例子中,important是一个类,而不是一个ID(.是CSS中用于指明“类”的符号)。

这上面的几个例子之中我们可以看到,为了用CSS可以更加高效地去控制页面的细节展现,良好的HTML结构是必不可少的。后期在我们讲到用CSS来控制布局的时候你会发现结构化、语义化的HTML也是必不可少的。当然,良好的HTML和CSS也是DOM和JavaScript的基础,因而,前期HTML和CSS这两个方面的内容我们必须有一个良好的、扎实的基础。

文档对象及行为脚本语言

文档对象模型DOM是Document Object Model的英文缩写,是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中导航寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而
DOM 被认为是基于树或基于对象的。

最后再来看行为脚本语言JavaScript,它是一种用于向网页中添加行为的脚本语言,可以用于检验你输入某一个表单里的数据的有效性,提供拖放功能,改变漂浮广告的样式,使页面元素如菜单等动起来,处理按钮功能等等。最新的JavaScript是这样工作的:找到一个目标HTML元素,然后对该元素进行一些处理。这和应用CSS差不多,不过两者的运行方式、语法等,则有相当大的差别。

JavaScript是比HTML和CSS更为复杂和庞大的主题,因此在这本书里,我们不去学习太复杂高深的主题,而是以把HTML和CSS的基础及高级应用学好为主。如有需要,我们可以后续再出一些关于文档对象模型DOM和行为脚本语言JavaScript的相应文章或者探析方面的书籍。

Web标准层面的主要构成要素HTML,
CSS和JavaScript其实并不神秘,它们都是Web演进的自然产物。如果你已具有一些HTML方面的知识,完全不用丢弃。你所具有的所有HTML知识,依然很有用,你所需要做的只是以一种与过去不同的方式来处理一些事情,并在写HTML标记时更加仔细和认真一些而已。

使用Web标准进行Web前端开发,除可以让你把Web前端开发工作做得更好以外,本身也是很有意义的。一些人不愿意使用Web标准进行Web前端开发,其理由是这样做很耗时,而且必须费很大力气进行跨浏览器显示的页面布局。但是,使用非基于Web标准的方法进行页面布局,对于Web页面的跨设备访问并在未来更高版本的浏览器中正常显示是几乎不可能的事情。

点击查看全文 »

本文涉及的标签分类:

为什么要使用Web标准

作者: 分类:Web前端 发布日期:2009-08-19 14:03 已有:1 条评论 发表评论

前面了解了什么是Web标准,还有一个标准的Web文档应该具备的一些特点。但是一些Web开发人员和Web设计师对使用Web标准却持有很大的抵触态度,普遍的看法是它太难了,不管它是怎么运作,我使用的那些软件总会创建出一些不规范的代码。其实,学习新的技术并放弃你所熟知的技术,这的确很容易引起情绪上的反感,并产生抵触的情绪。然而,如果你很理智的观察一下现在的形势,将会发现,通过学习和使用Web标准会得到许多好处。

那么,到底是什么促使我们使用Web标准,为什么要使用Web标准呢,使用Web标准到底有什么好处呢?

  • 提高代码的利用效率:当你深入学习和了解Web标准之后,你会发现Web标准使用的最佳习惯主要是关于代码重用的。通过重用代码,你可以将HTML内容和CSS样式信息及JavaScript行为信息相分离,减小网页体积,而且只需要写一次代码,在以后需要的地方重用即可。
  • 更简易的开发与维护:如果你可以只写一次HTML代码,然后在需要应用样式和行为的地方,使用类和函数。而以后,在你需要做出改动的时候,你可以只在一个地方修改,然后此修改就会自动应用到整个Web站点,而不再需要一处一处地修改。
  • 提高可访问性:Web上的一个大问题就是,让Web站点可以被每个人访问,而不论他们身处何种环境。这包括要能让残疾人,包括盲人、视觉受损的人、和运动功能有障碍的人也能访问网站。通过使用Web标准和最佳的习惯,你可以使你的Web站点能被尽可能多的人访问。
  • 设备兼容性:兼容性,不仅要确保你的Web站点可以跨平台(如Windows、Mac、Linux),而且要能在其它的浏览设备上工作,比如现在用的手机、电视、游戏控制台等。这些装置在屏幕大小、处理能力、控制机制等方面都有一些局限性。不过你放心,通过使用Web标准和最佳的习惯,可以让你的Web站点能在绝大多数装置上显示。要知道全球手机的数量多于个人电脑的数量,而且很多手机都是可以上网的,你或你的客户怎能不去占领这个大市场呢。
  • 更快的网页下载、读取速度:更少的 HTML 代码带来的将是更小的文件和更快的下载速度。如今的浏览器处于标准模式下将比它在向下兼容模式下拥有更快的网页读取速度。
  • 更高的搜索引擎排名:在这里,我指的是所谓的“搜索引擎优化”,即让你的Web站点能尽可能多地被网络爬虫爬到,并且被索引,从而提高你的Web站点在百度、谷歌等搜索引擎上的排名。这是一项专门的学问。同样地,通过使用Web标准,你就可以让你的站点在百度、谷歌等搜索引擎上尽量靠前地显示,这必将大大地促进你的业务。
  • 更好的适应性: 一个用语义化标记的文档可以很好的适应于打印和其他的显示设备(像掌上电脑和智能电话),这一切仅仅是通过链接不同的 CSS 文件就可以完成。你同样可以仅仅通过编辑单独的一个文件就完成跨站点般的表现上的转换。

正是因为具有了这样的一些优点和好处,Web标准才有了其独特的魅力和特色,而Web标准的这个优点也是我们去学习和追随Web标准的理由和意义所在。虽然有些人骨子里对Web标准方案和抵触,但不可否认的是,Web标准的的确确有益于Web的良性发展,也有利于公司利益、效益的最大化和工作效率、质量的提升。动起手来,是时候开始追随并应用Web标准到自己的日常工作和生活了。

点击查看全文 »

本文涉及的标签分类:

什么是Web标准

作者: 分类:Web前端 发布日期:2009-08-18 14:19 已有:2 条评论 发表评论

Web标准,或者说是网站标准,不是一种单一的标准规范,而是由一些规范共同组成的标准集合,是由W3C和其它的标准化组织共同制定,用来创建和解释基于Web的内容。这些规范是专门为了那些在网上发布的可向后兼容的文档所设计,使其能够被大多数人所访问。

Web标准按照其行为和表现方式,一般可以分为四种类型,它们是:

结构化标记语言

结构化标记语言是用来描述Web页面的骨架和机构的一种描述性的计算机语言,按照规范公布的先后顺序,主流的结构化标记语言可以分为如下的几种:

  • HTML(超文本标记语言) 4.01
  • XHTML(可扩展超文本标记语言) 1.0
  • XHTML 1.1
  • XML(可扩展标记语言) 1.0
  • HTML5 (正在草案制定中)

表现类语言

表现类语言的出现,主要是用来描述结构化标记语言的外观表现的,也就是说,用结构化标记来搭建Web页面的骨架,用表现类语言来给骨架进行设计和装修美化。变现类语言按照发展历程主要有下面几种:

  • CSS (层叠样式表)1
  • CSS 2
  • CSS 3 (正在草案制定中)
  • MathML (数学置标语言)
  • SVG (可变矢量图形)

文档对象模型和行为脚本语言

文档对象模型简称DOM,是一种与浏览器,平台,语言无关的接口,是用以访问页面元素的标准组件。简单理解,DOM解决了Netscape的Javascript和Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。文档对象模型按照发展主要有下面几个过程:

  • DOM (文档对象模型)1
  • DOM 2
  • DOM 3

行为脚本语言是用来控制页面的动作和交互行为的脚本语言,是在Netscape的Javascript和Microsoft的Jscript脚本语言的基础之上发展而来的。行为脚本语言主要有下面的种类:

  • ECMAScript 262 (JavaScript的标准化版本)

当一个文档被认为离 Web 标准不远了的时候,那就意味着,除了具有上面所提到的技术,还应当:

  • 由符合标准的 HTML 构建
  • 用 CSS 来布局而不是表格
  • 使用结构化、语义化的标记
  • 能够在任何平台和浏览器中显示

能够在任何浏览器中显示并不代表在任何一个浏览器中显示的效果是完全相同的。使一个文档在不同的浏览器和平台上都有相同的显示效果是不可能的,即便只用图片也不可能,因为发布在网上的文档将被不同的操作系统上的不同的浏览器软件所显示,并显示在不同大小与质量的显示器上(或者显示在非显示器上),浏览者也可能改变了浏览器的默认字体或者其他喜好。接受这样的一个现实,能使你在Web标准之路上减少一些挫折感。每一个做网页的人都应该了解,一些技术上的先决条件我们不得不考虑,就像那些出书、拍电影、拍电视的人一样,他们也有一些其他方面的前提必须要考虑。

在后续的文章里,我将主要去写一些如何去基于Web标准层面的结构化标记语言HTML和表现类语言CSS去构建简单、灵活、方便、高效和高性能的Web前端页面。而对于文档对象模型和行为脚本层面的内容,由于内容的循序渐进提升和篇幅的限制,我将会在之后陆续去写。

点击查看全文 »

本文涉及的标签分类: