<div class="table">
<div class="row">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
</div>
在CSS中有类似的东西:名称仅是说明性的;在现实生活中,它们是正常的类名称,反映了元素的含义。
我最近甚至亲自尝试过这样做,因为...您知道,每个人都在这样做。
但是我还是不明白。我们为什么这样做呢?如果您需要一张桌子,那么只需做一个爆裂的
<table>
即可完成。是的,即使是用于布局。这就是表格的用途-以表格形式放置内容。它瞎了。但是他们仍然需要一个表格进行布局(因为其他任何东西都不具有表格的扩展功能),所以他们制作了一个<div>
(因为它不是表格!),然后添加CSS使其成为表格。对于我来说,这对我来说就像是在摆放任意不必要的障碍物,然后再做额外的工作来规避它们。
离开表格进行布局的原始论点是很难之后修改表格布局。但是出于相同的原因,修改“仿表”布局同样困难。实际上,实际上,修改布局总是很困难,而且如果您想做一些比细微调整更严肃的事情,仅更改CSS几乎是远远不够的。您需要了解并更改HTML结构,以进行认真的设计更改。而且表格并没有比div更难或更容易。一团糟。您也可以使用divs。
所以...为了将这个问题从咆哮变成一个连贯的问题:我想念的是什么?在真正的表上使用“仿表”的实际好处是什么?
关于重复链接:这并不是建议使用其他标签或其他东西。这是有关使用
<table>
和display:table
的问题。#1 楼
这是制作响应表的常见模式。表格数据很难在手机上显示,因为页面将被放大以读取文本,这意味着表格偏离了页面的侧面,用户必须前后滚动才能读取表格,否则页面将被缩小,通常意味着表格太小而无法读取。响应式表格会在较小的屏幕上更改布局-有时隐藏某些列或合并某些列,例如在大屏幕上,名称和电子邮件地址可能是分开的,但是在小屏幕上,名称和电子邮件地址会折叠成一个单元格,因此无需滚动即可读取信息。有几个原因。如果使用
<div>
标签,那么在添加自己的代码之前,您需要覆盖浏览器的默认样式和布局,因此,在这种情况下,<table>
标签可以节省很多样板CSS。此外,旧版的IE不允许您覆盖默认的表格样式,因此使用<table>
s也可以简化跨浏览器的开发。 br /> 编辑:我应该指出,我不主张这种模式-它属于divitis陷阱并且不是语义的-但这就是为什么您会发现使用
<div>
s制成的表的原因。 />评论
我接受这个答案,因为似乎没有其他有用的东西了。有较高的投票答案,但他们基本上说“因为语义”(并且它们可以提供语义的唯一原因是屏幕阅读器,这并不能说服我)。 @HorusKol的答案在您之前提到了响应能力,但您的意义更重要。如果将来出现更好的答案,我将其更改为公认的答案。
– Vilx-
2015年4月3日23:10
这是荒谬和懒惰的。您使用
“表”所做的任何事情都可以用常规表完成,因此,除了旧的IE版本和惰性,几乎没有理由使用非语义元素来构建表。也就是说,实际的表格数据在互联网上似乎很少,因此也许这不是问题。
–您
2015年4月4日在9:17
@Vilx:您提出的问题是“为什么人们用divs制作桌子”,这就是您得到的答案。例如,您可能并不在乎屏幕阅读器,但这并不能改变可访问性是许多人真正关心的问题,并且(与搜索引擎一起)是许多人选择语义HTML的主要原因。
–雅克B
15年4月4日在19:07
出于所有意图和目的,这是完全错误的。如果您的数据是表格形式的,则将其放在表中。 BS声称表在移动设备上的行为尤其有害。您可以像使非表元素具有表值一样轻松地将表元素的显示属性更改为非表值。
–cimmanon
15年4月4日在19:08
我相信这个答案有点误导。响应式表的设计很好,但是它与使用或
–您
2015年4月4日在9:17
@Vilx:您提出的问题是“为什么人们用divs制作桌子”,这就是您得到的答案。例如,您可能并不在乎屏幕阅读器,但这并不能改变可访问性是许多人真正关心的问题,并且(与搜索引擎一起)是许多人选择语义HTML的主要原因。
–雅克B
15年4月4日在19:07
出于所有意图和目的,这是完全错误的。如果您的数据是表格形式的,则将其放在表中。 BS声称表在移动设备上的行为尤其有害。您可以像使非表元素具有表值一样轻松地将表元素的显示属性更改为非表值。
–cimmanon
15年4月4日在19:08
我相信这个答案有点误导。响应式表的设计很好,但是它与使用
评论
@JuhaUntinen:那……听起来不太可能。来源?@ PaulD.Waite-我认为今天实际上仍然如此。阅读其他答案。除非该表具有table-layout:fixed,否则它将需要完全加载后才能显示。使用现代宽带时,这种影响几乎不那么明显。
@JuhaUntinen:这并不完全准确。当您使用百分比表示列宽时,表格渲染引擎会变慢,因为必须先下载整个表格,然后浏览器才能开始弄清楚要制作多大的东西。嵌套表使这变得过于复杂。但是,存在(并且仍然存在)使表呈现FAR FAR更快的方法。很少有开发者会花时间去学习足够的技巧,而跳入潮流。
在更早的日子里,我们曾经使用表来模仿div,所以在那里。
有人读到他们不应该使用表格进行布局,并认为这根本不应该使用表格。我讨厌这种趋势。