6

副本:


最近有很多关于使用 div 而不是 table 标签来使您的页面更适合浏览器的讨论。为什么div更好?


4

9 回答 9

15

这里的关键是使用它们进行布局。请注意,表格数据的表格没有任何问题。这就是他们的目的。

但是,当您使用表格进行布局时,您会创建一个非常僵化的页面结构,通常无法很好地适应不同的屏幕尺寸、用户代理(想想移动浏览器或盲人的屏幕阅读器。尤其是在后一种情况下,您正在破坏任何订单其中内容应该被读给用户)。不幸的是,表格仍然是最强大的页面布局机制之一,因为几乎没有不同的实现,而且它们可以完美地工作十多年——CSS在这里是完全不同的事情。

但基本上归结为:

  • 违反内容和表现的区别
  • 从长远来看,笨重且难以维护,尤其是在尝试以类似方式更改多个页面的布局时
  • 没有强烈的语义意义,这对于可能只依赖朗读文本的残障人士来说很重要。表格在此处逐行逐列读取,这在基于表格的布局中几乎总是不是很有帮助

CSS 布局

  • 更难正确(至少对于演示而言)
  • 允许(有时)清晰地分离内容和表示。请注意,有时您必须在 HTML 中使用多个容器元素以允许某些布局和样式正常工作,因为 CSS 有一些限制
  • 如果您不盲目使用<div>and ,则可以为基础标记提供更好的语义含义<span>。有许多标签是有意义的,应该这样使用。例如,<div class="heading1">当你可以使用时不要使用<h1>.
于 2009-05-04T08:23:01.797 回答
14

几个原因:

1) div 在大多数情况下在语义上更正确。以表格结构对网站进行编码的人并没有将表格用于他们的目的,即表格数据。divs 代表一个“分区”或页面的一部分,因此将项目放在 divs 中更正确。

2) div 更灵活,更易于设计和维护。你不必<table><tr><td>Text here</td></tr></table>每次都写,<div>Text here</div>而你可以写。您可以将 css 钩子(即类或元素)添加到表和 div 中,但是使用 div 会更加灵活。

3) 表格结构的网站简直丑陋:)

于 2009-05-04T08:18:36.363 回答
6

因为表格传达了语义含义 - 您当前正在显示表格数据,就像 h1 一样意味着您有一个标题。因此,如果您使用表格来格式化您的输出,您就会误导对代码语义的解释。

例如,这可能会导致使用屏幕阅读器的人出现可访问性问题。

于 2009-05-04T08:17:21.623 回答
2

以下是基于 div 和基于表格设计的优缺点

于 2009-05-04T08:15:34.000 回答
1

使用 div 比使用 table 更好,因为在设计中易于控制,它可以是控件的容器而不是 table,并且 table 主要用于对具有类似结构的数据进行分组,因此它的设计是针对此任务的,但 div 被视为容器主要是表。我发现了在收集许多控件时和在我可以控制容器时之间的区别,但在表中我很困惑,因为我必须在里面插入并且它在彼此内部循环。

于 2009-05-04T08:24:04.167 回答
0

大多数人继续讨论应该如何将表仅用于数据,并且当您将其用于布局目的时会引入性能问题。此外,它应该更灵活,因为您可以使 <div> 向左流动、向右流动并在其他任何地方流动。

但是,恕我直言,这不值得付出努力。尤其是当您有应该与其相应标签正确对齐的控件列时,要使内容正确对齐需要很长时间。

于 2009-05-04T08:17:45.337 回答
0

使用表格进行布局对于网页设计来说是革命性的,但那是十五年前的事了,没有其他选择。正是由于这段历史,今天的表格甚至被考虑用于布局。

基于 CSS 的布局比基于表格的布局灵活得多。还有一些事情用表格更容易完成,但另一方面,有很多事情很容易用 CSS 完成,而用表格却非常复杂或不可能完成。

于 2009-05-04T09:32:05.483 回答
0

我告诉你我个人使用 div 的主要原因:

  • 表格只有一个静态网格,而 div 是动态的:表格的第一行定义了所有列(如 MS Excel 中)。在接下来的行中,您可以组合这些列,但您不能更改您在第一行中定义的基本布局。div 是动态的:您可以创建拼凑,让 div 重叠或在它们之间放置一些空间。无论你想要什么。你不会被迫排成一排地思考。你自由了。更多的灵活性。

  • 表格会导致呈现和跨浏览器不兼容问题:表格看起来并不总是相同的。每个浏览器都会为您提供对表格及其内容的自己的解释。因此,许多令人不舒服的惊喜。一个浏览器将您的常规文本显示为粗体。另一个浏览器为您的表格提供或多或少的余量给其他 html 元素,因此,表格没有很好地定位。用复杂的变通方法解决这些问题需要花费数小时的时间。div 在所有浏览器中看起来总是一样的。如果您使用 div,即使是 IE(众所周知,它是 web 程序员的麻烦制造者)也能减少问题。

  • Div 渲染速度更快: Div 加载速度比表格快。页面之间的浏览速度更快。更好的外观和感觉。

希望能帮助到你。干杯。

于 2013-01-04T11:04:53.807 回答
-3

我使用 CSS 和表格,有时还使用 DIV,但表格非常全面!而且它们在 Dreamweaver 和 Frontpage 中看起来很不错……放弃表格太难了,但似乎我会的,因为有必要让我的页面加载得更快!

于 2010-10-29T12:56:48.903 回答