W3C web标准概念入门(4)
作者:阿捷 来源:w3cn.org 发布时间:2008-05-25 15:06:00
二:web标准的思考与争论
通过上文的介绍,我们已经初步了解为什么W3C要建立XML标准,为什么各大厂商都愿意支持XML。也了解到为了向XML标准过渡,我们目前阶段需要学习和掌握的web标准有那些,接下来就是具体应用了。但我们发现应用也并不如想像中那样顺利,依然有一堆的困难摆在我们面前:
有99%采用HTML4.0或者更老规范建立的网页需要转换到XHTML;
每天依然有大量的新的页面采用不符合web标准的技术在发布;
缺乏易用的、强大的支持web标准的页面开发软件;
主流浏览器IE对web标准的支持不完善;
大批的设计师需要了解web标准,转变观念;
其中“转变观念”是最重要、也是最难的。许多设计师还不理解web标准,依然在观望甚至反对。这里我们来分析web标准推广过程中遇到的典型问题与争论:
(一)关于web标准
1.web标准并不是“标准”,我为什么要遵守?
的确,web标准并不是标准,它只是W3C制定的推荐规范,W3C并没有强制要求和监督业界去执行。web标准组织(webstandards.org)为了便于这些规范的推广,才把它们统称为“web标准”。虽然W3C制定的只是“推荐规范”,但它已经是事实上的标准,世界前500家大IT企业会员都认可的规范,你没有理由怀疑它的广泛性和可行性。微软也是W3C的主要会员,它自己通过的规范一定会支持,但出于商业竞争的考虑,微软通常都会做一些细节调整来绑定用户,但这并不影响W3C规范的方向性和权威性。
2.DIV+CSS就是web标准吗?
DIV+CSS只是具体的实现技术手段,并不能涵盖web标准。web标准不仅仅是HTML向XHTML的转换,更重要的是信息结构清晰、内容与表现相分离,而DIV+CSS技术能较好的实现这种思想。因此,我们看到的多数符合标准的页面都是采用DIV+CSS制作。
(二).关于web标准的好处
1.科技在进步,网络带宽越来越大,速度越来也快,节省那点字节有意义吗?
web标准的好处之一是:用web标准制作的页面代码量小,可以节省带宽。这只是web标准附带的好处,因为DIV的结构本身就比TABLE简单,TABLE布局的层层嵌套造成代码臃肿,文件尺寸膨胀。通常情况下,相同表现的页面用DIV+CSS比用TABLE布局的节省2/3的代码。这是web标准天生的好处。 至于节省带宽的意义并不主要针对普通用户,而主要针对网站经营者,特别是中大型网站,类似新浪、网易这样的站点。一个新闻首页从500K缩小到170k,假设一天的pageview是3000万(保守数字),那么节省的服务器流量就是330k*30000000=9440G,这个成本的节约是可观的。
2.我需要考虑残障人士(盲人和弱视)吗?
为残障人士提供网络浏览方便是美国及欧洲一些国家的法律规定,由于web标准页面的清晰结构、语义完整,一些相关设备能很容易的正确提取信息给残障人士。因此,方便盲人阅读信息也成为web标准的天生好处之一。至于有人说中国目前还有很多人为解决温饱发愁,哪有时间考虑残障人士。这是社会文明和社会道德问题,不在本书讨论范畴。但如果你页面按web标准制作了,就能达到这个效果,何乐而不为呢?
(三).关于布局
1.web标准就不能用表格了吗?
首先要澄清一个概念:web标准并不是不允许用TABLE标签,TABLE也是XHTML1.0中的标准标签。我们只是提倡用DIV+CSS布局来替代传统的table布局。原因是:原来的TABLE布局将表现和内容混杂在一起,结构不清晰、内容不完整,不利于内容的重用。而且从语义上讲,W3C制定TABLE标签时候只是用它来做表格结构定义的,文档中如果有表格,那么就应该用TABLE。而排版、定位这些表现的东西应该由CSS来控制。
2.我用table布局改版也很方便,你用CSS不一定就比我效率高。
个别情况或者个别项目,有可能象你说的,用table布局改版也很快。但这不是长远之计,我们需要透过现象看本质,web标准将内容与表现相剥离,所有样式、风格、布局等等表现的东 * 立出来,由CSS或者XSLT来单独控制,这样的剥离后,改版才是真正的方便。而且“改版”并不仅仅是浏览器上的改版,同样的页面如果我需要发布到手机上,符合web标准的页面就只需要修改样式文件,而table布局的则需要完全重做,未来如果还需要再发布到网络电视上或者其它新设备上呢?CSS的效率一定比table高。
3.用web标准能制作出漂亮的页面吗?
由于一开始研究和推广web标准的人士做得页面都比较“朴素”,因此引起大家的误解,以为web标准的页面就是简洁、轻图形、轻视觉效果的。实际上,用TABLE布局能够实现的页面效果,用CSS也基本上能实现。这个问题不需要多解释,看看国内外新建立的web标准站点就清楚了。例如:www.macromedia.com,www.mp3.com
(四).关于浏览器兼容
1.我不需要关心web标准,IE占有99%的市场,我做的页面只要IE能看就可以了。
“以用户为核心”通常都是反对web标准者的档箭牌,实际上这是虚伪的“以用户为核心”。你不能保证IE永远是垄断浏览器市场,你也不能保证IE不做任何改变(事实上,微软的IE7已经开始改善对web标准的支持)。坚持用html+table布局制作的页面将是“死”的信息,不方便搜索,无法重用与共享,从长远来讲,这才是对用户最大的伤害。
2.为什么web标准的页面兼容性并不好?
我们说web标准的优势是兼容性好,这个兼容是指向后兼容,向新浏览器、新设备兼容。对已有的浏览器来说,因为它们对web标准的支持程度不一样,因此会出现不同浏览器下页面变形的情况。我们必须采用一些"hack"技巧来实现不同浏览器的兼容。这是无奈、也是不可避免的,是web技术发展必然要经历的一个过程,是我们向XML过渡必须克服的一个困难。


猜你喜欢
- 本文实例讲述了MySQL游标概念与用法。分享给大家供大家参考,具体如下:1、游标的概念(Cursor)一条sql,对应N条资源,取出资源的接
- 1、在file->settings->file and code templates->python script即可自定
- 第五个页面name="changenick.php" <? include &q
- 如图,A simple todo-list长这样这是一个基于vue.js的一个简单的todo-list小demo。首先要实现添加非空list
- 如同这个数据结构的名称所说的那样,它记录了每个键值对添加的顺序。d = OrderedDict()d['a'] = 1d[&
- py读写修改常用的三种方法xlwt:用于写入 Excel 文件xlrd:用于读取 Excel 文件xlutils:用于操作 Excel 文件
- 每次抽取后都重新洗牌。计算10000次随机抽取可得到同花的几率。我做的比较复杂,分别累计了四种花色分别出现了几次import randoml
- 1.问:在DW中如何设置页面边距为0?答:在DW中似乎没有直接设置的方法,你只有在Html文档中插入以
- 将汉字转为拼音,可以用于批量汉字注音、文字排序、拼音检索文字等常见场景。现在互联网上有许多拼音转换工具,基于Python的开源模块也不少,今
- 本文实例讲述了Python使用循环神经网络解决文本分类问题的方法。分享给大家供大家参考,具体如下:1、概念1.1、循环神经网络循环神经网络(
- #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/02/11
- 今天在运行登录远程桌面的时候发现了这个提示关于 “ MySQL Installer is running in Community mode
- 很久没有上过天极网,今天偶然兴起跑上去看了一下,看到消息说天极网深圳站隆重上线,于是也顺便去溜了一把,打开页面的时候差点有种不知所措的感觉,
- 这个任务是自己在项目中数据处理的一部分内容,待处理的图片如下所示:我需要将目标区域给裁剪出来,要不然在后期训练网络的时候整幅图像过大,且目标
- 前段时间,接到一个需求,要求下载某一个网站的视频,然后自己从网上查阅了相关的资料,在这里做一个总结。1. m3u8文件m3u8是苹果公司推出
- 最近做百度地图的模拟数据,需要获取某条公交线路沿途站点的坐标信息,貌似百度没有现成的API,因此做了一个模拟页面,工具而已,IE6/7/8不
- 基本的字符串位置查找方法Python 查找字符串使用 变量.find("要查找的内容"[,开始位置,结束位置]),开始位
- 本文实例讲述了python实现通过队列完成进程间的多任务功能。分享给大家供大家参考,具体如下:1.通过队列完成进程间的多任务import m
- 同伪类的方式类似,伪元素通过对插人到文档中的虚构元素进行触发,从而达到某种效果。在CSS1里,有两个伪元素,即:first-letter和f
- 前三篇文章中,明确了栅格系统的设计细节和适用范围。这一篇将集中讨论960栅格系统的技术实现。Blueprint的实现Blueprint是一个