发现 v2ex.com 网站很多地方使用了 table 进行布局,使用 table 布局的优势在哪里?除了很容易排版 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bl
V2EX    前端开发

发现 v2ex.com 网站很多地方使用了 table 进行布局,使用 table 布局的优势在哪里?除了很容易排版

  •  
  •   bl 2020-08-29 22:45:26 +08:00 5019 次点击
    这是一个创建于 1946 天前的主题,其中的信息可能已经有所发展或是发生改变。
    28 条回复   &nbs;2020-08-31 10:38:33 +08:00
    UFc8704I4Bv63gy2
        1
    UFc8704I4Bv63gy2  
       2020-08-29 22:50:28 +08:00 via Android   4
    如果你从 frontpage 时代过来你肯定能理解,table 布局是成本最低的技术,可惜资本总是在淘汰成本低的技术
    Szhi
        2
    Szhi  
       2020-08-29 23:16:24 +08:00
    能用就行啦
    webshe11
        3
    webshe11  
       2020-08-29 23:47:13 +08:00
    后端表示,用 table 就不用研究 CSS 黑魔法啦
    somalia
        4
    somalia  
       2020-08-29 23:56:24 +08:00
    简单,兼容好。
    lmqdlr
        5
    lmqdlr  
       2020-08-30 00:00:21 +08:00 via Android
    @weiqk 真张口就来。
    多写写布局就知道了,table 现在在非表格和列等宽情况下不使用 table 的主要原因就是成本太高。
    UFc8704I4Bv63gy2
        6
    UFc8704I4Bv63gy2  
       2020-08-30 00:08:16 +08:00 via Android
    @lmqdlr 第一,呵呵,第二,我从未主张过只用表格布局,第三,呵呵
    hakono
        7
    hakono  
       2020-08-30 00:17:03 +08:00
    这里的布局成本低应该是对后端这种不熟悉 css 来讲的吧

    作为一个后端,偶尔要写点页面,对后端来说 css 是真尼玛一门玄学。要么怎么改都没有任何效果,要么有效果了却根本和想要的不一样,不是位置跑到不知道什么地方了就是永远调整不到想要尺寸 etc...
    这时候一个 table 是真的让人简单到落泪
    Felldeadbird
        8
    Felldeadbird  
       2020-08-30 00:21:31 +08:00 via iPhone
    兼容性好呀。什么浏览器都支持。缺点就是 数据 在前端交互会有点繁琐。
    towser
        9
    towser  
       2020-08-30 00:42:53 +08:00
    优势就是简单容易。

    不过记得十几年前用 table 布局时,IE6 需要等 <table> 加载完才能一次性显示整个表格,而 <div> 渲染一个区块就显示一个。
    noqwerty
        10
    noqwerty  
       2020-08-30 00:56:20 +08:00 via Android
    应该是历史原因吧,作为只写过一点前端页面的外行感觉 flex+grid 更香
    dremy
        11
    dremy  
       2020-08-30 01:16:22 +08:00 via iPhone
    div+css 毕竟算是十年前网页开发的“前沿”技术,现在图书馆里还有大把这样的书籍
    wdhwg001
        12
    wdhwg001  
       2020-08-30 01:25:16 +08:00 via iPhone
    table 布局是经受了严格的,IE 代领的,不兼容就淘汰的考验的,在所有人们可能使用的非命令行浏览器内都有正确的显示效果。
    抛开洁癖来看,它其实非常适合几乎没有动效的页面。
    CODEWEA
        13
    CODEWEA  
       2020-08-30 01:44:30 +08:00
    优势就是 table 自带的布局效果,你用 css div 来实现同等效果成本要高很多
    imn1
        14
    imn1  
       2020-08-30 02:42:23 +08:00
    既然提到历史,说一些楼上不知道的事

    页面用 1000+个 div,ie4 会崩掉,但一个 table 里面 1000+ tr 不会,只是加载慢
    当然还有浏览器渲染能力和内存等等多方面原因

    其次,多列定宽,一列变宽的情况,div+css1 很头疼,总是不能“所见即所得”,但 table 就很轻松
    以前还有大量文章,专门讲解如何实现左中右(中间不定宽)的 div 布局教程,可见当年做这事不容易
    现在不会做这个的前端该二话不说马上炒掉吧
    Livid
        15
    Livid  
    MOD
    PRO
       2020-08-30 02:49:14 +08:00
    一些十年前的代码里,确实用的是 table 。

    最近几年做的新功能里,没有再继续这么干。比如:

    settings/privacy
    Perry
        16
    Perry  
       2020-08-30 06:43:37 +08:00 via iPhone   1
    现在估计 flexbox 就能随便搞了也不需要有什么黑魔法
    wd
        17
    wd  
       2020-08-30 07:33:44 +08:00 via iPhone
    table 布局主要是方便,当年被 div 打败我记得是因为 ie 需要整个 table 数据都下载到才能开始渲染,而 div 可以一点一点来。
    suzic
        18
    suzic  
       2020-08-30 09:38:15 +08:00 via Android
    排版简单,交互要求不高的纯型展示网站使用 table 做起来效率高。兼容性高,很多 zf 网站都是 table
    ipwx
        19
    ipwx  
       2020-08-30 09:44:27 +08:00
    这种还用问?明显是历史遗留问题。哪个时代写的代码当然用哪个时代的技术。

    ( 15L 站长现身说法)
    Jirajine
        20
    Jirajine  
       2020-08-30 10:45:24 +08:00 via Android
    个人觉得手写布局无论是 table 还是 css 都是反人类的。单论布局本身而言,可视化的设计才是最自然的方式。虽然 flexbox 和 grid 确实香,但我更喜欢 Android 的 constraint layout 。
    Perry
        21
    Perry  
       2020-08-30 12:34:06 +08:00
    看了下 settings/privacy 是 grid 写的
    murmur
        22
    murmur  
       2020-08-30 15:07:28 +08:00
    table 用好了也可以,table 的问题是如果预定宽度内的东西超出宽度得用 div 限制一下
    wangyzj
        23
    wangyzj  
       2020-08-30 16:57:06 +08:00
    一切要从 projectbabel 说起
    JmmBite
        24
    JmmBite  
       2020-08-30 17:15:09 +08:00
    一个字:懒
    herozzm
        25
    herozzm  
       2020-08-30 17:34:33 +08:00
    table 无需考虑多余的 css 等兼容问题,一般后端喜欢用,缺点就是少了 div 和 css 的优点
    zhangshine
        26
    zhangshine  
       2020-08-30 17:52:15 +08:00
    table -> flex
    AV1
        27
    AV1  
       2020-08-30 20:42:42 +08:00
    十几二十年前,table 布局+IE+拨号上网=噩梦,打开个网页往往要白屏很长时间,体验非常糟糕。
    那时候我就开始用 Opera 了,不用等整个 table 下载完成就能渲染页面,这点非常优秀。
    leekafai
        28
    leekafai  
       2020-08-31 10:38:33 +08:00
    初中还是高中计算机课,有一门什么什么什网页设计,就是用 table 做一个类似于迪士尼的静态页面
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2872 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 12:22 PVG 20:22 LAX 04:22 JFK 07:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86