从玩弄表格技巧到遵循 Web 标准
首先,如果要重构一个用表格布局的网站,需要考虑好一个移植策略。是一口气把整个站点移植了呢,还是逐个逐个部分地一步步完成?检查一下,找出会因为移植而受益的页面和分支。自然而然地,从首页、新产品通告之类的页面开始检查会比较好。
分解页面
如果已经把站点的内容分好了类,那么是时候分析每个页面,把它们按照逻辑关系进行分解了。
* 主导航条
* 子导航条
* 页眉与页脚
* 内容
* 相关信息
* 其他
注意分析由嵌套表格、空白分隔符和边框元素组成的表格结构 (因为我们希望把它们替换为用 div 标记组织的那种简单得多的表格结构)。
检查应该替换的标记
一旦分析好页面的结构,就可以着手揭开表象,分析你现在的页面代码中可以转换成结构化标记的那些地方。
* 作为一个完美主义者,消灭所有的 font 标记和间隔 GIF 吧!
* 同样的,一并搞定 b 和 br 标记。
* 去除表格中的那些外观标记 (bgcolor, background, 等等)。
* 把纯粹用来表示外观的那些 CSS 调用 改成结构化的标记。
把描述外观的标记改为描述结构的标记
可以使用“查找加替换”(或者正则表达式),不过最好的方法还是在浏览器里打开这个页面,然后把文本复制粘贴到你的 HTML 编辑器里。
关键还是要用结构化的方式来思考!仅仅把b 标记替换为 strong 是远远不够的。
最重要的条目是哪个?用 h1 来标记它。次要一点的就用 h2,依此类推。用 p 来标记段落。把导航条标记为无序列表。
选定一个 DOCTYPE 来使用。(我们推荐 XHTML transitional,除非你是此道高手,否则别用 XHTML strict。)
把你的页面合理分布在的 div 中
把你的主导航条放在一个 id 属性设为 mainnav 的 div 中,子导航条则放在一个 id 或者 class 是 subnav 的 div 中。而页脚类似这个形式:[div id=”footer”],至于整个页面,它被放在 [div id=”content”] 里边。
即便现在它还不怎么讨人喜欢,但只要你开始给样式表添加规则,它就会马上变得可爱起来。
是开始自己编写 CSS 的时候了
首先,给每个 div 设置一个边界。例如:
div {
border: 1px dotted gray; padding: .5em
}
这可以帮助你完完整整地看到里边的内容,也不再需要卷动屏幕了。
首先为以定义的元素编写 CSS (html, body, p, h1, h2, ul, li, 等等。)
尽量运用上下文相关或者有递归下降结构的选择符。这可以使得你的标记更清晰。例如:#subnav li {border: 1px solid black; padding: .5em; display: inline} 将能够只能影响你的子导航栏的 div 中的列表项。
在尽可能多的浏览器下进行测试,毕竟你可以让朋友帮助你用它们自己的浏览器测试。