为什么不使用html表格进行布局

为什么不使用html表格进行布局,html,layout,html-table,Html,Layout,Html Table,在过去的几天里,我一直在思考这个问题。我目前正在编写一个web应用程序(实际上是在现有的广泛应用程序中添加一个屏幕)。我知道使用“表格”进行布局是一个很大的禁忌。但在这个应用程序中,所有页面都使用表格进行布局。我决定用divs来做我的新页面。 但我遇到了两个障碍 我需要做的很多布局工作都已经在其他页面上完成了,如果我使用div,我就不能重用任何东西(CSS和JS之类的东西)。这将导致更多的工作,并推迟我的完成日期 布局中一些更复杂的部分很难使用div来完成,使用表也很容易完成。也许这只是因为我是

在过去的几天里,我一直在思考这个问题。我目前正在编写一个web应用程序(实际上是在现有的广泛应用程序中添加一个屏幕)。我知道使用“表格”进行布局是一个很大的禁忌。但在这个应用程序中,所有页面都使用表格进行布局。我决定用divs来做我的新页面。 但我遇到了两个障碍

  • 我需要做的很多布局工作都已经在其他页面上完成了,如果我使用div,我就不能重用任何东西(CSS和JS之类的东西)。这将导致更多的工作,并推迟我的完成日期

  • 布局中一些更复杂的部分很难使用div来完成,使用表也很容易完成。也许这只是因为我是一个“老派”的人,因为我不是一个网络/html类的人(我过得去)


  • 那么,为什么我不能使用表呢?我不是想争论,只是想看看除了“It's the right thing to do”这类东西之外,还有没有什么令人信服的论点。我知道这是正确的做法。我想知道为什么?

    使用css布局可以使以后更改页面布局更容易。 表格还使html更难阅读和编辑

    • 使您的重新设计更高效、更便宜
    • 帮助您在整个站点中保持视觉一致性
    • 当您最小化标记并正确使用标题标记时,可以获得更好的搜索引擎结果。这降低了代码与内容的比率
    • 使所有查看者和用户代理更容易访问您的网站
    • 页面加载速度更快,文件大小将更小,因为每个页面中都不需要表信息
    • 随着世界上越来越多的人转向使用Web标准,您将获得竞争优势(即工作保障)

    表格也会影响搜索引擎的行为。使用CSS代替表格实际上也是一种SEO技术。我听说这样做的原因是搜索引擎在某个级别的标记之后停止索引,使用表的布局可能会变得非常嵌套。

    CSS布局使通过样式表(数据与显示分离)更改布局变得更容易


    此外,在解析
    标记之前,浏览器通常无法呈现表。如果您使用的是包含大量内容的表,则可能会出现问题。CSS布局通常可以按原样呈现。

    如果你有你提到的那种约束,期限迫近,现有的代码库很大,然后使用表格,整个世界不会崩溃,但从长远来看,使用CSS和welformed标记将允许你创建一个更好、更干净的,更易于维护的网站。

    使用div、span等实现您的布局,比表提供了更大的灵活性。考虑浮动、自动包装块内容与水平滚动,指定元素应该在页面上存在的位置等。当不使用表时,内容很容易通过CSS操作。

    当使用表时,你会被严格的结构所束缚

    这并不意味着这绝对是错误的。根据您的信息,为了一致性起见,我可能会坚持应用程序的主题,并使用表实现。根据情况做出最佳选择,而不是遵循当前流行的“规则”

    希望有帮助!
    Ian

    使用CSS而不是HTML表格进行布局,可以在页面内容和该内容的布局之间实现一定程度的分离

    对于表,HTML标记将内容和布局混合在HTML代码中。这意味着,如果您想要为相同的内容使用不同的布局,则需要大量编辑混合的代码

    通过在HTML标记上使用CSS样式表,可以将提供内容(HTML)的代码与提供布局(CSS)的代码分开。这使得完全更改网页的布局方面更加容易,而无需编辑内容代码

    最好的例子就是网站


    尽管如此,在表格中使用一些布局技术比在CSS中使用要容易得多,因此肯定存在一种“平衡行为”。(例如,即使谷歌在其页面布局中也使用表格!)

    由于可访问性的原因,例如屏幕阅读器无法正确读取表格,但这仅限于您所表示的数据不是表格数据时


    也就是说,由于截止日期等原因(现实世界中),我在表单布局中使用了它们,因为这非常简单。

    通过使用表格进行布局,您可以将内容与格式联系起来,这是大多数缺点的主要原因。它会弄乱源代码,使整个站点的格式更新变得复杂,这些更新可以通过CSS轻松完成,等等。使用表格进行布局通常还意味着在奇怪的地方切片图像,以便将其放入单元格中,真糟糕。

    如果您想支持文本到语音阅读器,表格非常难看(如果您有任何类型的可访问性需求,那么您几乎必须将表用于表,而不是其他)

    这也有一个SEO方面。对于SEO来说,最好将内容放在页面的顶部而不是底部。(遗憾的是,研究表明,将菜单放在第一位实际上是一个提高可访问性的好主意,因此这两个要求相互冲突。)

    如果您在跨浏览器支持方面遇到问题,我可以建议您使用Firefox进行开发。Firefox对CSS开发的支持比其他浏览器要好得多,而且它更符合标准(因此更容易预测)。稍后,您可以修补底层浏览器

    而且,正如Peter所说,宇宙不会内爆。但从长远来看,使用CSS进行布局更干净。用硬编码的布局重新设计某些东西可能是一件非常痛苦的事情。请查看CSS禅花园,了解您可以做什么的示例。当然,