JBTALKS.CC

标题: 用div还是table? [打印本页]

作者: 小彪    时间: 2009-8-25 11:04 PM
标题: 用div还是table?
做网页。要用div还是table好?各有什么好处和坏处?
作者: 宅男-兜着走    时间: 2009-8-25 11:34 PM
标题: 回复 #1 小彪 的帖子
感觉上是没什么差别, 等其他高手来替你解释解释下。

只是div 感觉上是能够用 css 来format text罢了。

table 我是用来分割版位用的。
作者: Super-Tomato    时间: 2009-8-25 11:58 PM
原帖由 小彪 于 2009-8-25 11:04 PM 发表
做网页。要用div还是table好?各有什么好处和坏处?


table 在簡單的表格上是比較方便建立, 但是如果多欄位和行數的時候, 有時 debug 起來會比較麻煩而且只是看 html 的話就會眼花撩亂
而 div 就比較容易使用 CSS 控制, 修改上也方便的多
作者: 小恶魔J@YL()NG    时间: 2009-8-26 12:26 PM
用div看不到source,table就看有也~~哈
div用css拍板,容易调整~
table 就麻烦~
但table不会跑位,div在不同browse会跑位~
两个配合的话就很好用~
作者: Super-Tomato    时间: 2009-8-26 02:52 PM
原帖由 小恶魔J@YL()NG 于 2009-8-26 12:26 PM 发表
用div看不到source,table就看有也~~哈
div用css拍板,容易调整~
table 就麻烦~
但table不会跑位,div在不同browse会跑位~
两个配合的话就很好用~


只要了解瀏覽器的不同性質, 用 css 也一樣可以調整好位置
作者: 小恶魔J@YL()NG    时间: 2009-8-26 03:01 PM
难抓稳位置,position每个会跑的~哈。。。table稳哦
作者: alextkc    时间: 2009-8-26 05:14 PM
从前,大多数网页都是用table排出来的。经过了这么多年、这么多网页的诞生,人们越来越讲究loading的速度。

当我们用table,我们通常是用1个大table来分割出主要的大纲,然后再用小table放在里面-nested table。
问题来了!在大table还没关之前 (</table>,内容是不会show出来的。这样一来,我们必须等到table关好了,内容才回全部show出来。so,感觉上很慢。

要是你用div,情况就不一样了。div是独立的。内容可以部分部分show出来。感觉上比较快。

以上是我会用div=tableless的原因。
作者: goodday    时间: 2009-8-26 05:50 PM
我两个都用 哪一个懒就用哪一个
没理什么的 快慢
懒就是我的需求
:)

跑不掉 也会乖乖用回div 的
作者: Super-Tomato    时间: 2009-8-26 06:55 PM
原帖由 小恶魔J@YL()NG 于 2009-8-26 03:01 PM 发表
难抓稳位置,position每个会跑的~哈。。。table稳哦


哈.... 那是你 CSS 還沒使用熟悉
作者: goodday    时间: 2009-8-26 09:30 PM
原帖由 小恶魔J@YL()NG 于 2009-8-26 03:01 PM 发表
难抓稳位置,position每个会跑的~哈。。。table稳哦


没几多啦 习惯就好咯
还是你的懒功要和我学??
作者: 小恶魔J@YL()NG    时间: 2009-8-27 01:18 AM
标题: 回复 #10 goodday 的帖子
你教我咯,我就学~
作者: goodday    时间: 2009-8-27 01:46 PM
懒惰的第一基本功

看完需求的全部 看有什么事 重复使用的 
不要做两次工

第二 资料和商业逻辑 要分开 不要 在同一层
将来发展容易 extend 咯

第三 整个program 的布局 清楚要知道 什么 下在什么地方
hand over 给人 别人看的懂 不会 kajau 你
作者: 小彪    时间: 2009-8-27 10:34 PM
table可以横用。可是div是一行一行的,不可以并列。如果要并列,是不是直接定下位置?(left=200px;top=100px;),还是用float?
我发现有个情况好像div做不到。就是有很多个table是listview的形式,按+号就会开启列表,然后整个container会变长,也就是footer被会退下去。理解吗???
作者: Super-Tomato    时间: 2009-8-27 11:10 PM
原帖由 小彪 于 2009-8-27 10:34 PM 发表
table可以横用。可是div是一行一行的,不可以并列。如果要并列,是不是直接定下位置?(left=200px;top=100px;),还是用float?
我发现有个情况好像div做不到。就是有很多个table是listview的形式,按+号就会开 ...


只要用 div 排列好之後, 把不要顯示的 style 設定為隱藏, 等到點下某些 event 才使用 javascript 改變該 div 的 css style 就可以達到效果了, 就算是 table 也一樣, 這只是舉一反三的問題
作者: 小彪    时间: 2009-8-28 11:28 PM
但,用div的话,css用float的话就不能剧中了。如果要居中,就不能用float了。如果float和position一起用,那么height:auto就没有效了。矛盾。。。
作者: 小恶魔J@YL()NG    时间: 2009-8-30 03:50 AM
标题: 回复 #15 小彪 的帖子
不要用float 咯,在css里面的都标上position,要的地方放position也是可以
作者: alextkc    时间: 2009-9-2 07:43 PM
方法很多。table可以,div也做得到。但是现在多数人都在用/学用tableless了。你不会,就应该学下,以后会用到的。对吗?
作者: 小恶魔J@YL()NG    时间: 2009-9-2 07:51 PM
标题: 回复 #17 alextkc 的帖子
是咯,我不会也~~哈哈~我作品都没table的~哈哈
作者: 小恶魔J@YL()NG    时间: 2009-9-2 07:52 PM
标题: 回复 #17 alextkc 的帖子
是咯,我不会也~~哈哈~我作品都没table的~哈哈
作者: 宅男-兜着走    时间: 2009-9-2 10:04 PM
标题: 回复 #17 alextkc 的帖子
不是啊~ 如果说你做类似系统类的网页, 不要table 的话辛苦是自己罢了。 如果说output 出来的东西除了component, 你不管如何都是要 table 会比较好。
作者: alextkc    时间: 2009-9-2 11:03 PM
原帖由 宅男-兜着走 于 2009-9-2 10:04 PM 发表
不是啊~ 如果说你做类似系统类的网页, 不要table 的话辛苦是自己罢了。 如果说output 出来的东西除了component, 你不管如何都是要 table 会比较好。


同意。当我面对这样的难题时,我会用div来排版。然后,在该用table的地方才用。
例如,当我们需要list一些数据时(member listing,product listing),我就会用table了。
作者: 小恶魔J@YL()NG    时间: 2009-9-3 11:28 AM
配合的拉~没有一百八仙单单一个好的~
作者: ~Zero    时间: 2009-9-4 01:55 AM
我刚接触 css 的时候 (之前是猛用 table 的),
教学强调: 第一概念是: html = content, css = design, scripts = functions.

table 属于 html, 只是纯粹拿来做 display 内容用的. 例如 data.
如果是网页的 layout, 请坚决用 css.

第一, load 比较快. 如果整个页面的 layout 都是 table, nested table, 跟 css 比起来 load 很慢.
css 是放在 html 的 <head> 里面, 所以会比 table 先 load 好, 然后内容就跟着 load.
table 的话要等 </table> 过后才 render 出来.

第二, 容易看 (code).
如果整个 html 都是 nested table, 要看的人根本就不知道哪个 table 是什么东西.

第三, 容易改.
如果网页的 layout 都用 table, 那有一天要改 layout, 把左边的搬去右边, 把上面的搬去下面. table 很辛苦, 要从 code 里面慢慢研究, 慢慢改. 错一点点小东西, 就 render 有问题. 如果是 css, 只要到 css那边改 position 就好了.

第四, 不同电脑 variation 不大.
table 虽然说是定定不会变的. 可是, 如果你的网页设计到就那么大而已, table 的 width 已经定住了. 那当 user 在 browser 的 view 那边把字体放大缩小, 会严重破坏你的 table, layout 等等. 而且, 如果你的网页设计到很宽, 较小 resolution 的电脑会看不完, 需要 scroll 去右边才看得到.


我不是说 table 好还是 css 好.
只是要用得恰当.
作者: 小彪    时间: 2009-9-12 11:32 PM
那么如果用div,style 是不是要写display:inline-block?如果写display:table和display:cell跟直接用table一样吗?还是要用什么meta什么的。还是其他的方法。
看网页的source,好复杂。不能用几个简单的code做一个网页 吗?
作者: 小恶魔J@YL()NG    时间: 2009-9-13 02:22 AM
标题: 回复 #24 小彪 的帖子
能,简单的code,也是能做出好的网页的~
作者: gynee    时间: 2009-9-25 05:32 PM
如果你的网站是要用长久的,要方便更改,就要用<div>CSS。又或者网站只是纯粹简单几面,就没问题,用哪个都可以。但是科技嘛,说明白一点:不进则退。学个正确的网络科技是好的。CSS当道,用DIV吧。
作者: jerrieleu    时间: 2009-10-3 06:14 PM
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) Powered by Discuz! X2.5