WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如 W3C DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。我们来简单了解一下这些标准:
1.结构标准语言
(1)XML
XML是The Extensible Markup Language(可扩展标识语言)的简写。目前推荐遵循的是W3C于2000年10月6日发布的XML1.0,参考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。关于XML的好处和技术规范细节这里就不多说了,网上有很多资料,也有很多书籍可以参考。
(2)XHTML
XHTML是The Extensible HyperText Markup Language可扩展标识语言的缩写。目前推荐遵循的是W3C于2000年1月26日推荐XML1.0(参考http: //www.w3.org/TR/xhtml1)。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTML向XML的过渡。
2. 表现标准语言
CSS是Cascading Style Sheets层叠样式表的缩写。目前推荐遵循的是W3C于1998年5月12日推荐CSS2(参考http://www.w3.org/TR/CSS2/)。W3C创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他表现的语言。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。
3.行为标准
(1)DOM
DOM是Document Object Model文档对象模型的缩写。根据W3C DOM规范(http://www.w3.org/DOM/), DOM是一种与浏览器,平台,语言的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了Netscaped的Javascript和 Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。
(2) ECMAScript
ECMAScript是ECMA(European Computer Manufacturers Association)制定的标准脚本语言(JAVAScript)。目前推荐遵循的是ECMAScript 262(http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM)。
web标准在中国推广有一段时间了,在这段时间大家进行了激烈而精彩的讨论,也提出了很多疑问,产生了很多误解,我整理了一些常见的问题和对web标准的误解进行解答,有不对的地方,还请大家指出进行讨论。
1.web标准是一个标准吗?
回答:WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如 W3C DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。
2.Design with web standard(应用web标准进行设计)就是div+css替代table布局吗?
回答:肯定不是,上面一个问题里提过了,他是很多标准的集合,怎么能一个div+css就概括了呢?确切的说,我们常见的设计应该是xhtml+css+DOM,结构标准+表现标准+行为标准。
xhtml是网页的结构,CSS格式化网页、控制字体、布局、颜色等等。DOM创建交互行为和效果。而每一个部分都要遵循相应标准。
<div>是一个xhtml的标签(tag),没有语义,他被作为一个装载信息的容器(box)来使用,目的是为了CSS能更好的控制网页的视觉效果,为设计师提供更广阔的发挥空间。
<table>是指定所含内容要组织成行列的表格,传统的table布局就是一种误用,而且不具备标准所拥有的优点,所以在应用web标准设计网页时,table布局当然被抛弃了。
3.应用web标准设计的网页浏览器兼容性为什么不理想?
回答:这个问题的提出我想是因为网页的表现效果在各种浏览器下不是很一致。这个问题的产生主要是由于CSS和DOM,你看到的兼容性不好,是因为web标准中的表现(CSS)标准没有得到现代的浏览器(古老的浏览器肯定不能很好的支持)很好的支持,有很多的CSS解析bug,如盒bug、IE浮动 3pxbug等,这些都是浏览器自身的问题。web标准是为了消除浏览器之争,打破他们的私有代码,让web标准体系里的代码在所有的浏览器上都正常解析,实现web的跨平台性,而不是你的代码符合web标准就能带来很好像兼容性,那些古老的浏览器也没有支持web标准嘛,而且Firefox, Opera新版本不是很快就支持标准了吗?IE7.0的泄漏版本也在向标准靠近。
虽然CSS布局比较困难,布局中的问题也挺多,但是比起table布局了,扩展性确实提高了,就像blog的功能栏可以放到左边页可以放到右边,table布局能实现的div配合CSS也全部都实现了,而且还做到了table布局不能做到的。
4.web标准能做出漂亮的网页吗?
回答:艺术效果和web标准无关,艺术效果取决于设计师的能力,web标准不能提供为设计提供设计灵感。这是一个老掉牙的误解的,但是与CSS的应用有一定的关系,看看CSSbeauty,CSSimport等网站收录的通过W3C校检的网站,他们告诉你合理的使用CSS同样能将你优秀的设计效果展现在网页界面上。而且CSS的诞生就是为了让网页有更丰富更完美的视觉效果,只要是表现就没有CSS做不到的。还有作为视觉修饰的图片一律在CSS中使用(如:background:url (yourpic.jpg);),作为信息的图片才能用于<img>。
在web标准推广的过程中,这个问题一直是热点,CSS也被人作为标准的重点来学习,原因很简单,因为网页不只是是信息,还有表现、视觉效果,没有漂亮的用户界面,客户是不会选中你的作品的。
5.W3C校检通过就是符合web标准吗?
回答:W3C校检只是从语法的角度来校检你的网页里的代码的使用是否正确,比如<br/>没有闭合,span中嵌套div等等。而有些table布局的网页也能通过W3C校检,比如table布局的一个实例, 因为语义不符合,table布局就是结构和表现混杂。符合web标准!=通过校检,通过校检!=符合web标准,迄今没有那个指标可以确定你的网站是符合标准的,W3C校检只是让你xhtml,css,DOM等在语法上正确的应用。你能做的只是应用web标准进行设计(Design with web standard)。
6.为什么要应用web标准设计网页?
回答:好处很多,最基本的是:
1)对网站浏览者的好处:
[list]
[*]文件下载与页面显示速度更快;
[*]内容能被更多的用户所访问(包括失明、视弱、色盲等残障人士);
[*]内容能被更广泛的设备所访问(包括屏幕阅读机、手持设备、搜索机器人、打印机、电冰箱等等);
[*]用户能够通过样式选择定制自己的表现界面 ;
[*]所有页面都能提供适于打印的版本;
[/list]
2)对网站所有者的好处:
[list]
[*]更少的代码和组件,容易维护 ;
[*]带宽要求降低(代码更简洁),成本降低。举个例子:当 ESPN.com 使用 CSS改版后,每天节约超过两兆字节(terabytes)的带宽;
[*]更容易被搜寻引擎搜索到 ;
[*]改版方便,不需要变动页面内容;
[*]提供打印版本而不需要复制内容 ;
[*]提高网站易用性。在美国,有严格的法律条款(Section 508)来约束政府网站必须达到一定的易用性,其他国家也有类似的要求。
[/list]
<a href="/XHTML/standard/XHTML_16.html target=_blank>想了解更多?
7.什么是好的结构?
回答:好的结构这里所说的是xhtml的结构,首先声明<Doctype>和<head>部分采用标准推荐写法,其次就是标签的语义化,无语义的标签(<div>,<span>)作容器,<Hx>作标题,<p>作段落,<ul,ol,dl>作列表,<acronym>标明缩写词,<table>指定所含内容要组织成行列的表格等等。再次是div容器的合理使用,层层嵌套也不好,代码冗余,太少也不好,表现的扩展性太差,这个需要具体分析解决。比如csszengarden的结构就很不错,语法应用合理,也为设计师提供了广阔的发挥空间。
8.table什么时候使用?
回答:<table>有组织的所含内容成行列的表格,比如成绩单,学生花名册,排行榜等数据,想了解更多?
9.Web设计必须要符合Web标准吗?
回答:没有人规定你必须设计符合标准的网页,Web标准也不是非常完美,他还没有支持多媒体(如flash)。而且Web标准推广书名是Design with web standard,中文翻译版本也是《网站重构——应用web标准进行设计》,不是遵循web标准进行设计。应用web标准进行设计我的观点是为我所用,利用web标准化的一些优点来设计和规划你的网站,带来一些你期望的利益。
10.web标准化中CSS能做多少事情?
回答:去看看小毅的CSS不是万能药膏,CSS是负责表现的,也就是你的视觉感受都可以用CSS来实现,还有一些动态效果:hover(鼠标滑过)效果。
11.做div+css的人都是什么人?
回答:这个问题首先是对web标准的一个误解,提问者的意思可能是xhtml+ css设计网页由什么人来负责,xhtml是结构网页设计师需要学习程序员也需要学习,CSS 是表现设计师的事情,但是有的设计师对编码不够擅长,但是一个网页设计师是综合性的web UI(web用户界面)设计师,不能只会设计图纸,但是在过渡阶段可以有一个擅长xhtml+css设计师来衔接界面设计师和程序员。想了解更多去看看什么人适合学习WEB标准。
12.web标准体系中CSS最重要吗?
回答:引用小毅的话“结构是战略的高度,表现和行为是战术的高度”,具体说说就是web是一个装载信息的空间,他的作用就是传达信息,表现是为了让信息更容易的让浏览着接受,为了优化用户体验。行为也是用户体验的一部份。到了具体的应用,品牌形象展示艺术效果很重要,但是你的信息更重要,浏览者不能看见你的logo就能很具体的了解企业的情况。而且你企业的介绍、提供的服务等信息,可以通过web标准的对搜索引擎友好的优点让更多人了解到。一个良好的结构自然能给设计师广阔的发挥空间,为之设计出许许多多漂亮的界面,反之则限制设计师的发挥,可以随着web的发展向后兼容,随时更改用户体验避免网站被淘汰而产生重新开发的成本。