Html 在CSS规范中添加display:table-*有哪些可验证的原因?

Html 在CSS规范中添加display:table-*有哪些可验证的原因?,html,css,Html,Css,我知道现在CSS中有了display:table-*,一些布局更容易实现,但是考虑到众所周知的历史对HTML中基于表格的布局的仇恨,决定将这些显示选项添加到的原因是什么 任何有关讨论、邮件列表条目、规格等的参考资料都会很好 我不是在寻找使用这些选项的理由,也不是对标准机构的动机的意见/猜测。而是,为什么以及由谁决定将其纳入标准是有价值的 谢谢。问题不在于基于表格的布局不好,而是表格被用于布局。这使得很难确定哪些是实际表格(即表格数据),哪些是仅用于布局的表格 将table-*添加到CSS意味着我

我知道现在CSS中有了
display:table-*
,一些布局更容易实现,但是考虑到众所周知的历史对HTML中基于表格的布局的仇恨,决定将这些显示选项添加到的原因是什么

任何有关讨论、邮件列表条目、规格等的参考资料都会很好

我不是在寻找使用这些选项的理由,也不是对标准机构的动机的意见/猜测。而是,为什么以及由谁决定将其纳入标准是有价值的


谢谢。

问题不在于基于表格的布局不好,而是表格被用于布局。这使得很难确定哪些是实际表格(即表格数据),哪些是仅用于布局的表格

将table-*添加到CSS意味着我们可以将基于布局的table-*移动到CSS中,并且只保留HTML中的语义表(即实际的表格数据)


这是我能在W3邮件档案中找到的最早的参考资料。(“显示:表格”作为布局表格的替代品

有一个对旧线程的引用,您可以一直追溯到它,但上面提供了足够的上下文。摘录

有很多页面都有内容块 使用HTML表格为可视化目的进行安排。这个结构是 在HTML4.0中应该被弃用,但在实践中很难做到 计算出相应的CSS构造,尤其是 基于表格的布局不关心屏幕的精确宽度 细胞

但是,在CSS2规范中 这个 以下列出了“显示”属性的可能值:

表格、内联表格、表格行组、表格列,
表格列组、表格页眉组、表格页脚组、表格行、, 表格单元格和表格标题

…考虑到众所周知的对HTML中基于表的布局的憎恨

就是这个。HTML
table
元素在语义上只保存表格数据;页面布局、表单、列表等几乎都不是表格数据

HTML401规范规定:

表格不应纯粹用作布局文档内容的手段,因为在呈现到非可视媒体时,这可能会出现问题。此外,当与图形一起使用时,这些表格可能会强制用户水平滚动以查看在具有更大显示屏的系统上设计的表格。为了尽量减少这些问题,作者应该使用样式表来控制布局,而不是表格

-

CSS
table-*
显示并非仅用于表格数据。它被设计为一种创建布局的方式,与HTML
table
元素创建行和列的方式类似。CSS样式的表根本不必包含表格数据,因为这无关紧要——它纯粹是可视化的

HTML方法在语义上无效。CSS方法是


请注意:HTML5规范允许将
表格
元素用于布局,但前提是指定了
role=presentation

表格不应用作布局辅助工具。从历史上看,许多Web作者使用HTML格式的表格作为控制页面布局的一种方式,这使得从此类文档中提取表格数据变得困难。特别是,易访问性工具(如屏幕阅读器)的用户可能会发现,使用用于布局的表格导航页面非常困难。如果要将表格用于布局,则必须使用属性role=“presentation”对其进行标记,以便用户代理将表格正确地表示给辅助技术,并将作者的意图正确地传达给希望从文档中提取表格数据的工具

-


首先,出于纯粹的实际原因:CSS需要一种方法来描述如何布局
元素。如果没有
表-*
显示规则,浏览器必须对这些元素的布局进行特殊处理

众所周知的对基于表的布局的历史仇恨

使用布局表有两个问题

  • 不正确的语义。当您不使用
    元素,而是使用
    显示:表时,这不是问题。您可以拥有类似于表的布局,而不需要声明类似于表的语义
    
  • 渲染速度。当您不使用过大的表或使用
    表布局:fixed
    时,这不是问题
    因此CSS解决了这两个问题。

    请注意,我并不是说它是好是坏…@PeterBailey我已经添加了两个相关的引用。@Peter Bailey:中的介绍部分和中的非规范性示例样式表与规范中的引用尽可能接近。第17节没有明确说明这些显示的动机类型,但您几乎可以从文本中推断出来……谢谢-是的,规范并没有真正列出理由,但感谢示例链接,没有发现该链接。@PeterBailey-在W3邮件列表中添加了一个指向讨论的链接。干杯谢谢,我喜欢Braden N.McDaniel的论点,因为他懒得把它添加到那个帖子里!“我们可能同意使用表格进行布局是一种不好的形式,但这并不能改变这样一个事实,即这种技术在Web上的使用非常广泛。在IMO中,假定表格始终包含表格数据的UA并不是那么智能。”