重构、标准、布局_CSS/HTML

近来大家总是在标准上争论不休,其实,这些问题一些相关文章已经说得很明白了。

  以下我就谈谈我的看法。本帖子有太多的“我认为”,说明了我只是想把我的想法拿出来跟大家商榷,或许有太多不对的地方,也请大家一一指出。

  1、我对web标准的理解
  所谓的web标准,在一些教程文章上已经得到结论:结构化标准(XHTML、XML)、表现标准(CSS、XSLT?)、行为标准(DOM、ECMAScript)。这些东西在网上一搜一大把,在这里我就不多说了。我只说我自己的想法:

  a.标准是相对的,有其一定的局限性
  作为标准本身,它也在不断地完善中。我们也可以加入其中完善它,而不是盲从它。没有最好,只有更好。(LeXRus前一阵子说要成立自己的web标准组织,不知道现在怎么样了。)

  b.标准只是被推荐使用,好的标准大家都会自觉去遵守
  我们之所以使用标准,就是因为标准对我们有利。正如现在倡导的ISO9000标准一样,它只是倡导,并不强迫。我认为它对我有用,所以我用它;同样,如果你认为它实在不怎么样,你也可以不用它,标准本身不应该带有任何强迫性。就跟打篮球一样,NBA是24秒进攻,我们是30秒进攻,我们要想加入NBA,就得用人家的规则。还有我们加入“世贸”也是,如果我们够拽,自己成立一个“世贸”,自己发布一套标准,也是可以的。

  c.标准没有明确提到用div还是table
  有些朋友很容易把标准简单地等同于“把table换成div”。我不这么认为,因为table也是符合xml规则的。含有table的页面照样可以通过XHTML1.0的验证。

  d.“div布局”不只是用div进行布局
  我们可以用一切可能的标签(包括table)对页面进行布局,目的就是要达到最优。它只是提出一个概念,一个全新的模式。坛子里也有人说过,“重要的是观念上的更新,而不是代码。”当然,我们的最终目的是代码的更新。

  e.XHTML验证是手段,不是目的
  有时,我们用javascript来生成flash movie代码,以欺骗validator,通过验证。用这种方法,那么没有通不过验证的页面。如果只是玩玩,那是可以的。但是我怕会有些初学者太把validator当回事,甚至认为通过验证是最终目的。我的看法是:validator不过是一个工具,它帮助我们检查我们的页面是否符合标准,仅此而已。最终我们还是得按客户的要求设计我们的页面。
  
  2、我为什么要用标准
  有人会以为使用标准的目的就是为了达到标准。其实,《网站重构》一语道破天机:为了网站能“活”得更长久,为了提高网站的可访性,更为了降低成本,我们必须采用Web标准!这里有三个“为了”,没有一个是为了标准。标准只是手段。
  接触“标准”后,我尝试去做一些符合“标准”的页面。当时,并不是很明确为什么要使用标准,只是出于一种好奇心理。中间也遇到了一些难题,有技术上的,也有观念上的。但是,现在我很乐意用div+css来给客户做网页。
  用了标准以后,给我的感觉就是:代码精简了,维护方便了。
  代码精简,可缩短页面装载时间。就算在当前宽带的条件下,我们也不应该放宽对自己的要求——精简代码(我想这也是每一个程序员对自己的要求),况且现在还有不少的拨号用户,以及手机上网/浏览的用户。这是一个分秒必争的社会。
  严格按照标准,可以获得更高的兼容性。一个合格的网页制作者,他总是试图让网页达到最高的兼容性。当然,他要在效果与兼容性之间取得某种平衡。就像我们现在挑老公:既要有钱,也要靓仔。
  维护方便,我甚至只要修改一下css就可以让整个页面呈现出完全不同的风格。这可以节省不少工作。
  当然,我认为用标准最重要的一点是:向后兼容。用一个专业的术语就是:可持续发展。网络总是在不断地发展中,一个好的网页制作者,总得对未来的发展有一定的预见。就现在我知道的,以后一段时间确实是xml的天下,直到有更好的东西出来取代它。
  每年都有太多的网站为了跟上时代,花不少钱在改版上。因为改版就意味着一切重来,包括代码,甚至程序。
  标准还要求我们把数据交给XHTML(或者html、xml),把表现交给css,两者各司其职,结合起来。

  3、为table平反
  《网站重构》一书出来以后,也许有很大的误读成分,一些朋友把标准跟重构混淆了,甚至等同起来。我没看过这本书,不好做评价。
  “在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构”,这就是重构。我认为“网站重构”兼有“div布局”跟“web标准”的意思。布局讲的是一种方法,标准讲的是一种规范,这是两码事。
  web标准并不是说不用table,我找遍了网上的文章,没有找到一篇文章说web标准反对使用甚至建议不使用table标签,我想它是这样说的:建议不要使用table“布局”,而改用div+cs“布局”。
  拿一个数据表来说,我认为用table来组织它是最好的解决方案。当然,你要用其他办法来实现也是可以的,但是我敢说都没有table来得简单、简洁。(也许有,只是我没找到?)当然,在学习阶段,强制自己不使用表格解决一切问题,还是蛮有用的。

  以上说了这么多,与其说是我的想法,不如说是汇总了大家的想法。但求不贻笑大方,如果能对初学者有所裨益,那就阿弥陀佛了。

出处:蓝色理想

时间: 2024-11-08 20:26:37

重构、标准、布局_CSS/HTML的相关文章

两栏DIV+CSS标准布局代码

一款两栏式DIV+CSS标准布局代码,详细如下: 代码如下:<html> <head> <title>Nice and Free CSS Template 1</title> <style type="text/css" media="screen"><!-- /*  body und schrift deffinitionen */ html, body{ padding:0px; margin:0

web标准布局实例教程

web|web标准|教程 我相信来经典论坛学习标准的朋友,99%都不是为了进W3C,不是为了成为专业的研究人员,那么大家来的目的是什么呢?很简单,其实都是想通过标准的学习让自己多增加一项技能而已,让自己在找工作的时候不会在被"需要熟练掌握web标准"而难倒,在下面的实例中xhtml并没有什么语意,文章的目的只是让然大家能更好的掌握CSS中相对.绝对定位的用法(新手问此问题的确实很多),及如何有效的结合背景,实现比较复杂的布局.不足之处还望前辈们能指点一二,感谢! 第一步: 先来随便设计

DIV + CSS的标准布局对SEO的影响

SEO是指搜索引擎优化,主要就是通过对网站的结构.标签.排版等各方面的优化,使搜索引擎更容易抓取网站的内容,并且让网站的各个网页在等搜索引擎中获得较高的评分,从而获得较好的排名.DIVCSS网页布局对SEO有着积极而富有意义的影响.查看本站更多搜索引擎优化技巧文章.看以下几个方面: 一.精简网页代码 使用DIVCSS布局,页面代码精简,这一点相信对XHTML有所了解的都知道.观看更多的HTML教程内容. 代码精简所带来的直接好处有两点:一是提高http://www.aliyun.com/zixu

标准布局常见问题及解决办法_经验交流

CSS2.0盒模型层次平面示意图和3D示意图 3像素问题及解决办法 当使用float浮动容器后,在IE6下会产生3px的空隙,有意思的是右侧容器没设置高度时3px在右侧容器内部,当设定高度后又跑到容器的左侧了,所以对布局精度要求高的话,请参考例29.31的解决方法 上边容器浮动后,下边的容器跟着浮动,造成页面错乱 如以上例子中的footer必须要单独占一行,但当sidebar浮动后,content的高度小于sidebar的高度时,footer也跟着浮动到sidebar右侧了,造成页面错乱.解决办

典型的三行二列居中高度自适应布局_CSS/HTML

如何使整个页面内容居中,如何使高度适应内容自动伸缩.这是学习CSS布局最常见的问题.下面就给出一个实际的例子,并详细解释.(本文的经验和是蓝色理想论坛xpoint.guoshuang共同讨论得出的.) 首先先按这里看实际运行效果,这个页面在mozilla.opera和IE浏览器中均可以实现居中和高度自适应.我们来分析代码: 完整代码 <html><head><style type="text/css">body{background:#999;tex

松下电器意欲退出等离子电视业务 重构业务布局

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 硅谷网讯 据腾讯科技 北京时间3月18日消息,据日本媒体报道,松下已开始探讨退出等离子电视业务.兵库县尼崎市的尼崎工厂或于3721.html">2014年度内停止生产.松下将在月内公布的中期经营计划中披露电视面板业务方针. 松下的等离子电视在与韩国及国内液晶电视同行的技术竞争中落败,丧失竞争力.公司原本寄望于电子黑板等电视以外的用途以挽回颓势,但经过

标准布局应用:对联与旗帜_广告代码

左侧广告内容 右侧广告内容

标准布局应用:显示/隐藏侧边栏 [附详细注解]_经验交流

显示/隐藏 俺是个js初学者,献丑了.这段js演示其实很简单,俺在这里只是想跟js大大们说一句:js是行为,不要跟样式表打架.有些事还是该由css来做的,例如:display:none || display:block,简直泛滥成灾了!俺只会玩玩css,拿到js不会改,不敢改,唉.明明一个class就能甩给css做的事,js为啥要抢着做呢?搞得俺们这些会点css滴菜鸟们好是郁闷~难道玩css就一定要会js么?

不用float实现模块居中布局_CSS/HTML

最常见实用的布局形式:上.中左.中右.底四个模块,宽度760px,整体页面居中. 结构代码,top left right foot 四个模块全部独立.互不嵌套. <div id="top">head</div> <div id="left">  <div id="left_module">left</div></div> <div id="right"