“第7章 紧凑而坚固的页面保证:以严格和混合的标记组成的结构”首先解释了DIV和ID的概念,然后对一些过去的和现在的坏习惯进行了回顾。
看着作者例举的“坏习惯”,想想当年我也曾把这些坏习惯当做“流行圣经”,并且身体力行。如今虽然觉得那时候有点好笑,但是我知道这是因为环境、关注点都发生了变化造成的。如果回到当年,我依然会选择学习那些现在看来是“坏习惯”的东西。那些技法虽然冗长、拖沓、没有结构性,但是至少在视觉效果上比单调的HTML往前迈了一步,而往前迈一步总比什么都不做强。
在这之前,“SPAN”与“DIV”我一直搞不明白有什么不同,因为对于样式表圈地的作用来说,两者似乎都一样。经过本章的介绍,结合以往看代码的感觉,我发现DIV是用来划分逻辑块来使用的,而SPAN只是用来在恶劣的情况下把某一小段内容与周围的内容区分开来,也就是“内置的内容”。(也许即将到货的那本XHTML的书中会做出权威的解释)。
“id”与“class”其实应该是不容易发生混淆的两个标签,但是由于他们经常都伴随DIV出现,并且在CSS的作用机制中关系微妙,说实话,我也不能肯定地把他们的关系讲明白。本章节的描述中,也许是因为翻译的缘故,两者的界限似乎搅得更加的不清晰。下面我试着给他们下一个更明显一点的定义吧(也许不是很严谨):“id”就是声明特定一段XHTML标签的名字。一个名字只能使用一次;而“class”的值是CSS样式表中的定义的名字。
是表示该块的名字叫做“name”,而
则表示,对该块应用名称为“name”的CSS定义。
id的值必须用一个字母或者下划线开头,在JavaScript中他还不可以带有空格和连字符“-”,如果考虑到兼容性问题,连下划线也最好不用。
作者在文中特别提醒:不管是否结构化,任何元素都必须由清晰、紧凑的标记和干净的CSS组成。接下来他举了几个classitis、divitis的例子说明DIV和CSS的组合也可能产生出垃圾代码。看着这些臃肿的代码混乱的逻辑关系,觉得很好笑,有点耍贫嘴的意思。“表格都是不好的,CSS都是好的”这一流行的观念是错误的。
接下来的“过时方法的展示”带我们回顾了“服务器镜象”(我到现在还是不太明白这种技术)、“图片MAP”、“通过切割图片制作网站”、“HTML中详细的说明注释”、“用style把CSS内嵌到网页中”。这些事情都是我曾热衷的做法,当时只觉得大家都这么干,所以我也这么干,从来没有想过什么才是最重要的。也许我今天热心于想把标准搞明白,明天又有人告诉我其实还有一条更光明的大道。谁知道将会发生什么呢?重要的是,今天的每个接触了解,都不会是毫无用处的。如果我是从今天才接触WEB设计的话,那这本书我也许早以看不下去了,正是因为有了那些落后的坏习惯的经验,才越发感觉标准的重要。