看了 ruby-china,用的 div 布局,用什么比较好?
我 2006 年就在用 div,甚至用 php 写了类,可以用 div 实现表格,当时很多门户首页都还是 Table。
但现在想起来,觉得更多的是折腾。一个后台而已,蜘蛛和盲人也都不来访问,可能用 Table 使得流量多出的几个字节,要等内容都下载完了才显示,但对于现在的网速来说,根本不是问题,何必用 div 折腾自己呢?
真有时间,可以把前台和推广先做了,后台用什么,真的不重要,重要的是快点搞定。
楼主没有展示自己的功课,所以我前面只回复与提问相称的回答。
不过以免避免误导其他人,完整解释一下:
最后,楼主提问前请做功课。
我赞成不要用 Table 来布大局,但有些布局用 div 搞不定或不好搞定,这就是我所谓的“折腾”:为了一点点只有源代码才看得到的区别浪费了大量时间。
现在 discuz 等论坛不管前台后台还有大量表格,虽然比 10 年前少了点,但还是比比皆是,虽然 ruby-china 的 topics 是 div,但你要做成 discuz 的 forumdisplay 页面那种排版,用 div 会折腾死,而且还有跨浏览器问题。
后台如果只是左右两列用 div 可能更简单,如果列数过多,不用表格就是跟自己过不去。
另外,如果楼主是打工仔,老板给了钱又给了时间,当然可以折腾 div,如果是自己创业推产品,赶紧上线是王道,不然等你后台做好了,腾迅的山寨版都上市了。
真正的洁癖只会把表格用在展示数据列表,如果 主题列表 用 table,虽然是多列,他们也会觉得不能接受,因为这是有语义内容,你放在 Table 里,这让盲人怎么“看”?并且会马上告诉你怎么用 div 搞定。
我第一次学 html 就是从新浪首页抠 Table 开始的,Table 并没有那么不堪,加上 iframe 用来做后台,绝对简单清爽,现在 Discuz 的后台虽然只有左右两列,但还是用的表格。
#29 楼 @kgen 根据楼主问的问题推测,他网站前台不可能用 Table 排版,但后台自由度大一点,我猜他应该更倾向 Table 和 iframe,如果 div 用得好,那他根本不会来问了。
如果这时候,我告诉他用 div,我觉得他折腾的时间会相当长,他都要用 iframe 和 table 了,想必有个左边栏竖菜单,右边是各个菜单的内容。如果内容简单,比如只有标签和 input,simple_form 可以全自动搞定,他不会有这个问题。可能后台涉及到的内容或说明比较多,要把这么多内容漂漂亮亮地组织在一起,实在是没有把握,用 Table 从直觉上应该比较简单。
div 的知识如果搞明白了,调个网页跟流水线拧螺丝没什么区别,就是要多些耐心,多些时间。如果他这个项目成功了,再回去改成 div 的也不难,但如果是个拍脑袋的点子,结果流产了,那花时间一个 px 一个 px 调的模板就是浪费时间了,还不如用来投资学点别的,哪怕是休息也好。
我觉得楼主是个类似全栈工程师的身份,他的工作应该有侧重,后端技术很容易长进,但前端不可能一蹴而就,所以建议实现了再说,推广了再说,后台丑点只有自己看,不要在这个节骨眼上犹豫是上清华还是北大,是蒸着吃还是煮着吃。
你说的语义化和响应式对前端重要,对后台我觉得没那么重要,因为没有蜘蛛和盲人访问你的后台,你的产品也不是 Discuz,要发布源码给大家鉴赏,另外,对于复杂的后台(不是两列式),用响应式变成手机页面,基本也是很难看,还不如两个手指放大来得简单直观。
不过话说回来,在 Rails 里面用上了 Bootstrap,再加上 simple_form 之类的,基本上用不着 div 也用不着 table 了。
其实我想说的是 Do the right thing or do the thing right?
对新人尤其是这样,你要让人样样通样样行,短期是绝对不可能的。他擅长什么就让他用什么,先做出来了再改善。
花一两个月学 div,用 div,并解决跨浏览器问题 花二天完成后台,立马上线,然后再学习,并更新产品 上面两咱情况,哪个是坑,还真说不准。
我再重申一次,我绝对是 CSS + DIV 的支持者,我个人不会用 Table,但如果有人用 Table 趁手,我不会说他,告诉他这有个更好的方式,有空再去学。
http://cn.linguee.com/%E4%B8%AD%E6%96%87-%E8%8B%B1%E8%AF%AD/search?source=auto&query=do 这个 php 页面前台都是 Table,没有响应式布局,人家一个月至少几十万欧入帐,你不能说你不用 div,不应该成为一个成功的 Businiss,只能说你有改进的空间,我相信他们也会改进,但他们觉得不是现在,他们现在在疯狂地扩张更多的语言,加入更多的服务器采集新语料,在 SEO 上投入更多的精力。
做事有轻重缓急,我想说的仅此而已。
哈哈,后台怎么可以用 iframe 呢,应该用 frameset 左右分栏。后台显示数据列表的时候当然是 table 了,table 就是专业干这活的。div 用在布局和非列表的地方。
这个没必要太考究,如果真去较真的话,w3c 标准本身就有很多不合理的地方,html5 是套失败的方案!