副本:
最近有很多关于使用 div 而不是 table 标签来使您的页面更适合浏览器的讨论。为什么div更好?
这里的关键是使用它们进行布局。请注意,表格数据的表格没有任何问题。这就是他们的目的。
但是,当您使用表格进行布局时,您会创建一个非常僵化的页面结构,通常无法很好地适应不同的屏幕尺寸、用户代理(想想移动浏览器或盲人的屏幕阅读器。尤其是在后一种情况下,您正在破坏任何订单其中内容应该被读给用户)。不幸的是,表格仍然是最强大的页面布局机制之一,因为几乎没有不同的实现,而且它们可以完美地工作十多年——CSS在这里是完全不同的事情。
但基本上归结为:
<div>
and ,则可以为基础标记提供更好的语义含义<span>
。有许多标签是有意义的,应该这样使用。例如,<div class="heading1">
当你可以使用时不要使用<h1>
.几个原因:
1) div 在大多数情况下在语义上更正确。以表格结构对网站进行编码的人并没有将表格用于他们的目的,即表格数据。divs 代表一个“分区”或页面的一部分,因此将项目放在 divs 中更正确。
2) div 更灵活,更易于设计和维护。你不必<table><tr><td>Text here</td></tr></table>
每次都写,<div>Text here</div>
而你可以写。您可以将 css 钩子(即类或元素)添加到表和 div 中,但是使用 div 会更加灵活。
3) 表格结构的网站简直丑陋:)
因为表格传达了语义含义 - 您当前正在显示表格数据,就像 h1 一样意味着您有一个标题。因此,如果您使用表格来格式化您的输出,您就会误导对代码语义的解释。
例如,这可能会导致使用屏幕阅读器的人出现可访问性问题。
使用 div 比使用 table 更好,因为在设计中易于控制,它可以是控件的容器而不是 table,并且 table 主要用于对具有类似结构的数据进行分组,因此它的设计是针对此任务的,但 div 被视为容器主要是表。我发现了在收集许多控件时和在我可以控制容器时之间的区别,但在表中我很困惑,因为我必须在里面插入并且它在彼此内部循环。
大多数人继续讨论应该如何将表仅用于数据,并且当您将其用于布局目的时会引入性能问题。此外,它应该更灵活,因为您可以使 <div> 向左流动、向右流动并在其他任何地方流动。
但是,恕我直言,这不值得付出努力。尤其是当您有应该与其相应标签正确对齐的控件列时,要使内容正确对齐需要很长时间。
使用表格进行布局对于网页设计来说是革命性的,但那是十五年前的事了,没有其他选择。正是由于这段历史,今天的表格甚至被考虑用于布局。
基于 CSS 的布局比基于表格的布局灵活得多。还有一些事情用表格更容易完成,但另一方面,有很多事情很容易用 CSS 完成,而用表格却非常复杂或不可能完成。
我告诉你我个人使用 div 的主要原因:
表格只有一个静态网格,而 div 是动态的:表格的第一行定义了所有列(如 MS Excel 中)。在接下来的行中,您可以组合这些列,但您不能更改您在第一行中定义的基本布局。div 是动态的:您可以创建拼凑,让 div 重叠或在它们之间放置一些空间。无论你想要什么。你不会被迫排成一排地思考。你自由了。更多的灵活性。
表格会导致呈现和跨浏览器不兼容问题:表格看起来并不总是相同的。每个浏览器都会为您提供对表格及其内容的自己的解释。因此,许多令人不舒服的惊喜。一个浏览器将您的常规文本显示为粗体。另一个浏览器为您的表格提供或多或少的余量给其他 html 元素,因此,表格没有很好地定位。用复杂的变通方法解决这些问题需要花费数小时的时间。div 在所有浏览器中看起来总是一样的。如果您使用 div,即使是 IE(众所周知,它是 web 程序员的麻烦制造者)也能减少问题。
Div 渲染速度更快: Div 加载速度比表格快。页面之间的浏览速度更快。更好的外观和感觉。
希望能帮助到你。干杯。
我使用 CSS 和表格,有时还使用 DIV,但表格非常全面!而且它们在 Dreamweaver 和 Frontpage 中看起来很不错……放弃表格太难了,但似乎我会的,因为有必要让我的页面加载得更快!