2)我为一家医疗账单公司工作,我们内部工作的几乎所有布局都是用 CSS 完成的。然而,我们时不时地从保险公司得到纸质表格,我们的计费员必须使用,一个程序将它们转换成 HTML 格式,他们可以填写并通过内部网打印。为了确保表格被接受,他们需要非常紧密地匹配原始的纸质版本。对这些人来说,回到桌子上很简单。
即使 div 标记在布局良好的页面中也只起很小的作用。不要过度使用。如果您正确地将 html 组合在一起,就不需要那么多。诸如列表、字段集、图例、标签、段落等可以替代 div 或 span 常用来完成的大部分工作。Div 应该主要用于指示逻辑 Divvision 的有意义的情况,并且只有在绝对必要的情况下才用于额外的布局。对于表也是如此; 当您有表格数据时可以使用它,但在其他情况下不可以。
然后,您就有了一个更具语义性的页面,并且不需要在 CSS 中定义那么多的类; 您可以直接将标记作为目标。可能最重要的是,您拥有一个使用 Google 的页面(有趣的是)比使用相同的表格或 div 重量级的页面得分要高得多。最重要的是,它将帮助你更好地与部分听众建立联系。
所以如果我们回头看看表和 div 的比较,我的观点是,我们实际上已经到了 div 被过度使用,table 被过度使用的地步。为什么?因为当你认真思考的时候,会发现很多属于“表格式数据”的东西往往会被忽视。例如,在这个网页上的答案和评论。它们由多个记录组成,每个记录具有相同的字段集。它们甚至存储在一个 sql 服务器表中。这就是表格数据的确切定义。这意味着 html 表格标签绝对是一个很好的语义选择,可以像 Stack Overflow 这样布局文章。同样的原则也适用于许多其他事情。使用 table 标记来设置三列布局可能不是一个好主意,但是对于网格和列表使用 table 标记当然没有问题... 当然,除非您实际上可以使用 ol 或 ul (list)标记。
还有一个用处
表格,特别是标签:
文本对,技术上来说
be done in div boxes, but it's much,
在桌子上做这个要容易得多
我们可以争论这个标签: 文本框对
实际上是列表性的。
I see that a fair amount, especially among MS developers. And I've done it a fair amount in the past. It works, but it ignores some accessibility and best-practice factors. You should use labels, inputs, fieldsets, legends, and CSS to layout your forms. Why? Because that's what they are for, it's more efficient, and I think accessibility is important. But that's just my personal preference. I think everyone should try it that way first before condemning it. It's quick, easy, and clean.
Note: At the time the question was asked, there were practical reasons for using tables for some layout purposes. This is not necessary anymore due to browser improvements, so I have updated the answer.
Using tables for placing sidebars and page headers/footers. This is not tabular data but page layout. Something like css grid or flexbox is more appropriate.