作者nightmarelee (星空☆看见)
看板Web_Design
标题Re: [问题] 不使用table的原因..?
时间Sun Dec 31 16:39:53 2006
※ 引述《kairosa (暗夜)》之铭言:
: ※ 引述《clifflu ( [ 超 宅 ])》之铭言:
: : 我个人的解读偏重在 "语意" 上
: : 以目前 html/xhtml/CSS 的趋势,是加强标签 (tag) 与语意间的关联性,
: : 表现 (presentation) 则靠 CSS 处理。
: : 也因此,有许多 "平常很少用" 的 tag,在早期 html 甚至不含特殊显示方式的
: : tag 如 acronym (希望没记错), code, quote 等,现在被大量推广
: : 而以往作为改变表示方式的标签如 <i> <b> <u> 则被建议避免使用。
: : 取代的方式是以 div, span (视 block 状态) 或 font 标签取代。
: : frame 在许多情况下,能以 js 及 DOM 的 innerHTML 加以取代
: : iframe 感觉上比较接近是 applet 的运作 :p (个人认为啦 XD 或是 cross-window)
: : 从这样的逻辑来看,不当的使用 table (别忘了它还有 thead, tbody, th 等
: : 的子标签) 来做版面编排,确实是有些怪异。
: : 另外,近代 CSS (也许是 2.0+ ) 也对 media type 多加着墨,
: : 希望使同样的内容,能够透过不同的表现方式 (css) 直接在各种媒体上以
: : 适当的方式呈现 (ie. 手机,PDA,电脑萤幕,朗诵程式,印表机 等等等)
: : 而非像目前主流的做个 "Printer friendly page" 的 link 给你点 ^^;
: : 错误的使用标签,会使得跨媒体页面变得相当诡异。
: : ---
: : 不止是为了 AA 而已
: : AA 只不过是跨媒体中的一个部份 ^^;;
: 现在讲求不是用table而是用div
: 是有点物件导向式的设计网页
: 这对网页程式设计师来说
: 可以很轻易的针对某区块某物件来设计程式
: 而不会因为可能要加一个区块而网页需要大修改
: 如果玩过photoshop就知道图层吧...
: div就相当於图层可以一层层叠上去
: 这东西大家自己去摸看看吧...
: 只要熟了~你就会发现它能发挥的创意不是table可以做到的...
: 最後一个用div来设计网页的好处...
: div可以用css控制也可以用javascript去控制...
: 所以...div所开发出来的网页...
: 不需要改太多指令就可以不断的创新风格...
: 大家可以去新浪blog看看...
: 新浪的创意总监规划的,有很多不错的技术大家可以去参考看看...
分享一下经验吧....我是以程式设计的角度来看使用 <div> 的问题..
不使用表格改用 <div> 可以让程式与美工的角色明确的分工...
以往的经验可能是由美工将版面配置设计好给 Programer
通常 Programer 要在将美工的版面调整或是拆解 , 等於 Programer 还要在把
版面看过一便在修改程式
改采 <div> Programer 不需要管版面长什麽样...只需要知道这个页面
要有那些元素 , 在 Template 中先将每个区块用 <div> 包好
ex:
<div id="toolbar">
<div id="btn_1" class="btn">选单1</div><div id="btn_2" class="btn2">选单2</div>
</div>
<div id="data">
{Data.Content}
</div>
以上是一个 ToolBar 的区块和 一个资料显示区 当一个 Template 规划好之後
美工仅需去调整 css 就可以把画面呈现出来 , 不需要 Programer 这边在花很多
时间去做微调 , 另外要更换版面和移动位置的速度只须换一个 css 档引入即可.
此外更重要的就是弹性 , 呈接上面那个范例....
如果以 <table> 来排版
ex:
<table>
<tr>
<td>
<table>
<tr>
<td>选单1</td>
<td>选单2</td>
</tr>
</table>
</td>
<tr>
<tr>
<td>
<table>
<tr>
<td>Data</td>
</tr>
</table>
</td>
</tr>
</table>
所要用的<tag> 多是一个缺点 , 另外如果我要将选单的部份移到下方 , 要花
很多的时间去修改原本 <table> 的结构 , 以上在以 <div> 排板的情况下 ,
只需改动 css , 两者所花的时间大家可以比较看看 .
在目前 WEB 2.0 的潮流下 , 为了给使用者更好的操作体验 ,
保留更大的弹性给使用者 , 加快开发改板的流程 , 这也是为什麽 <table>
的排版法越来越被淘汰的原因....
在加上网路上有很多开发套件 , 有兴趣的人可以去看看 yahoo user interface
这套 freamwork 看看使用 <div> 排版 , 在加上现成 css 套件的威力在那 .
http://developer.yahoo.com/yui/grids/
真的要比较两者其实还很多很多 , 但我想还是要自己去体会才能知道 :)
我从记事本时代就开始写网页 , 所以用 <table> 排版的时代我都用
手在 key html 码 , 所以两种方式产生的 template , 用 <table> 明显的会产生
很多的垃圾 code .... / \
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.155.94
※ 编辑: nightmarelee 来自: 60.248.155.94 (12/31 16:41)
1F:推 liveinlow:推荐这篇文章 :) 12/31 19:25
2F:推 hows:观点很棒 推 01/01 01:54