Home > Web Front-end > CSS Tutorial > Refactoring, standards, layout_CSS/HTML

Refactoring, standards, layout_CSS/HTML

WBOY
Release: 2016-05-16 12:11:17
Original
1367 people have browsed it

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

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

  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來得簡單、簡潔。 (也許有,只是我沒找到?)當然,在學習階段,強制自己不使用表格解決一切問題,還蠻有用的。

  以上說了這麼多,與其說是我的想法,不如說是匯總了大家的想法。但求不貽笑大方,如果能對初學者有所裨益,那就阿彌陀佛了。

來源:藍色理想

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template