在现代Web开发中,我越来越经常遇到这种模式。看起来像这样:
<div class="table">
<div class="row">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
</div>
在CSS中,类似:
.table { display: table; }
.row { display: table-row; }
.cell { display: table-cell; }
*(类名仅是说明性的;在现实生活中,这些是反映元素含义的普通类名)
我什至最近都尝试自己做这个,因为……每个人都在做。
但是我还是不明白。我们为什么要这样做呢?如果您需要一张桌子,那么只需将其炸毁<table>
并完成即可。是的,即使是用于布局。那就是表格的用途-以表格形式放置内容。
我最好的解释是,到现在为止,每个人都听过“不要使用表格进行布局”的口号,因此他们盲目地遵循它。但是他们仍然需要一个表格进行布局(因为其他任何东西都不具有表格的扩展功能),所以他们制作了一个表格<div>
(因为它不是表格!),然后添加了使其成为表格的CSS。
对我来说,这就像在世界上摆出任意不必要的障碍,然后做额外的工作来规避它们。
离开表格进行布局的原始论点是,之后很难修改表格布局。但是出于同样的原因,修改“仿表”布局也同样困难。实际上,实际上,修改布局总是很困难,而且如果您想做一些比细微调整更严肃的事情,仅更改CSS几乎是远远不够的。您将需要了解和更改HTML结构,以进行认真的设计更改。表格不会比div更难或更容易。
事实上,我看到桌子可以做一个布局很难修改,唯一的办法是,如果你从头使用他们,创造了一个不敬虔的混乱。您也可以使用div来做到这一点。
所以...为了将这个问题从咆哮变成一个连贯的问题:我想念的是什么?使用“人造桌子”而不是真正的桌子有什么实际好处?
关于重复链接:这并不是建议使用其他标签或其他东西。这是关于使用<table>
vs 的问题display:table
。
table-layout:fixed
,否则将需要完全加载它才能显示它。使用现代宽带时,这种影响几乎不那么明显。