本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Why not use tables for layout in HTML?
在什么条件下你应该在HTML编码中选择表而不是DIV?
整个"桌子与分区"的事情几乎没有错过这个标志。它不是"桌子"或"div"。这是关于使用语义html。
即使div标签在精心布局的页面中也只占很小的一部分。不要过度使用它。如果你正确地将你的html放在一起,你不应该需要那么多。列表,字段集,图例,标签,段落等内容可以替代div或span经常用来完成的大部分内容。 Div应该主要用于表示逻辑划分的情况,并且在绝对必要时仅用于额外的布局。表格也是如此;有表格数据时使用它,但不是。
然后你有一个更加语义的页面,你不需要在CSS中定义很多类;您可以直接定位标签。可能最重要的是,你有一个页面,通过谷歌(传闻)得分比同等的表格或重页面更好。最重要的是,它可以帮助您更好地与部分观众建立联系。
因此,如果我们回过头来看一下表格与div的比较,我认为我们实际上已经达到了div过度使用且表格未得到充分利用的程度。为什么?因为当你真正考虑它时,有许多东西属于"表格数据"的类别,往往被忽视。例如,在这个网页上的答案和评论。它们由多个记录组成,每个记录具有相同的字段集。它们甚至存储在一个sql server表中,大声喊叫。这是表格数据的确切定义。这意味着一个html表标签绝对是一个很好的语义选择,可以像Stack Overflow上的帖子一样布局。同样的原则也适用于许多其他事情。使用表格标签来设置三列布局可能不是一个好主意,但是当然可以将它用于网格和列表......当然,除非你可以实际使用ol或ul(列表)标签。
当我提交的数据确实是表格式的。
我发现有些网页设计师在某些网站上使用表格数据上的div是荒谬的。
我将拥有的另一个用途是表单,特别是标签:文本框对。这在技术上可以在div框中完成,但是在表中执行此操作要容易得多,并且可以说标签:文本框对实际上是表格式的。
我曾经做过纯CSS,但我放弃了追求有利于混合表/ css方法作为最实用的方法。具有讽刺意味的是,这也是因为可访问性。曾经尝试过在Sidekick上做CSS吗?什么样的恶梦!曾经见过如何在新浏览器上呈现基于CSS的网站?元素会重叠或只是无法正确显示我必须关闭CSS。曾经尝试调整基于CSS的网站的大小?如果他们在浏览器中使用缩放功能,它们看起来很糟糕并且经常对盲人有害!如果你使用表格,那么它们的扩展性会更好。当人们谈论可访问性时,我发现很多人都没有线索,这让我很烦,因为我是残疾人而他们不是。他们真的和盲人一起工作过吗?聋人?如果可访问性是一个主要问题,为什么99%的视频没有封闭标题?许多CSS纯粹主义者使用AJAX但没有意识到AJAX经常使内容无法访问。
实际上,可以将单个表作为主要布局使用LONG,因为如果单元格是堆叠的(您在移动设备上看到的东西),则在逻辑流程中提供信息。 CSS理论听起来很棒但在现实生活中部分可行,有太多黑客攻击,这违背了"纯洁"的理想。
由于使用CSS with tables方法,我节省了大量设计网站的时间,并且维护更加容易。更少的黑客,更直观。我收到的电话更少,说"我插入了一个DIV,现在它看起来都搞砸了!"更重要的是,绝对没有可访问性问题。
通常,每当您不使用表格提供布局时。
表 - >数据
分区 - >布局
(主要是)
注意:在询问问题时,出于某些布局目的使用表格的实际原因。由于浏览器的改进,这不再是必要的,所以我更新了答案。
当数据在逻辑上具有二维结构时,应使用HTML
-elements。如果数据可以按行和列结构化,并且您可以有意义地将标题应用于行和列,那么您可能具有表格数据。
我只有一行或一列数据,那么它不是表格数据 - 它只是线性内容。在将其视为表格数据之前,您至少需要两行和两列。
一些例子:
使用表格放置侧边栏和页眉/页脚。这不是表格数据,而是页面布局。像css grid或flexbox这样的东西更合适。
将表用于报纸式列。这不是表格数据 - 您仍然可以线性读取它。像css列这样的东西更合适。
我会区分公共网站的HTML(表no-no-no,divs yes-yes-yes)和半公共或私有Web应用程序的HTML,我倾向于更喜欢表甚至页面布局。
"表格不好"的大多数可敬的原因通常只是针对公共网站的问题,而不是webapps的问题。如果我可以通过使用TABLE而不是复杂的CSS + DIV来获得相同的布局并且在浏览器之间具有更一致的外观,那么我通常会继续使用TABLE。
正如许多海报已经提到的那样,您应该使用表格来显示表格数据。
表格在HTML 3.2中引入,这里是关于其用法的规范中的相关段落:
[tables] can be used to markup tabular material or for layout purposes...
同意托马斯 - 一般的经验法则是如果在spreedsheet上有意义,你可以使用表格。否则不是。
只是不要使用表格作为页面的布局,这是人们对它们的主要问题。
我可以看到表格的表格的论点,但有一个更好的选择...你只需要卷起袖子学习CSS。
例如:
1 2 3 4 5 6 7 8 9 10
| <fieldset>
<legend>New Blog Post</legend>
<label for="title">Title:</label>
<input type="text" name="title" />
<label for="body">Body:</label>
<textarea name="body" rows="6" cols="40">
</textarea>
</fieldset> |
您可以使用该html并将表单布局为并排标签或文本框顶部的标签(这更容易)。拥有灵活性确实有帮助。它的HTML也比同等表的HTML少。
有关CSS表单的一些优秀示例,请查看以下优秀示例:
http://jeffhowden.com/code/css/forms/
http://www.sitepoint.com/article/fancy-form-design-css/
http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/
我通常会选择表格来显示表格类型信息(名字,姓氏,地址等),其中多行的衬里标签和字段很重要。我用于布局的DIV。
当然桌子是用DIV包裹的:)
我在两种情况下使用表格:
1)表格数据
2)任何时候我希望我的布局动态调整其内容的大小
表格是针对表格内容而设计的,而不是用于布局。
因此,如果您使用它们来显示数据,请不要感到难过。
如果您的数据可以在二维网格中布局,请使用
。如果不能,不要。使用
进行其他任何操作都是一种破解(尽管通常没有一种具有适当选择的方法,特别是在与旧版浏览器的兼容性方面)。不使用
显然应该是一个同样糟糕的东西。 和不适用于所有内容;事实上,在语义层面上完全没有意义,不惜一切代价避免使用更多的语义替代方法。
在这个问题上,我认为这个网站很有趣。
1)用于显示表格数据。日历是表格数据的一个示例,一开始并不总是很明显。
2)我在一家医疗账单公司工作,我们内部工作的几乎所有布局都是使用CSS完成的。但是,我们不时会从保险公司那里获得我们的报酬者必须使用的纸质表格,并且程序会将它们转换为html格式,他们可以通过内联网填写和打印。为了确保表格被接受,他们需要非常接近地匹配原始纸张版本。对于这些,回到表格很简单。
表用于表格数据。如果将它放在电子表格中是有意义的,那么使用表格。否则,有一个更好的标签供您使用,如div,span,ul等。
我相信只是表格内容。例如,如果您将数据库表或类似电子表格的数据打印到HTML。
@Marius:
是布局表格数据吗?不,虽然它是几年前的标准,现在不是:-)
One other use I would have for it would be forms, particularly label : textbox pairs. This could technically be done in div boxes, but it's much, much easier to do this in tables, and one can argue that label:textbox pairs are in fact tabular in nature.
我倾向于给标签一个固定的宽度,或者在上面的线上显示它。
@Jon Limjap
对于label:textbox,div和table都不合适:
s
如果您希望语义正确的HTML,那么您应该仅将表用于表格数据。
否则,您可以使用表格来处理所需的一切,但可能有一种方法可以使用div和CSS执行相同的操作。
很明显,DIV用于布局,但由于这个原因,我被"强迫"使用电子表格在div结构中进行网格布局:
the addition of percentage values did not allow a proper alignment with the div, while the same values expressed on cells of tables gave the expected result.
所以我认为这些表不仅对数据有用,而且对于上面的情况仍然有用,除此之外,表仍然是符合W3C标准的浏览器和替代浏览器(例如对于禁用的)正确解释它们。
当任何浏览器加载包含页面的页面时,浏览器需要更多时间来正确呈现标记。在使用div的情况下,浏览器占用的时间更少,因为它更轻。而且我们可以应用css使div显示为表格,
桌子通常很重,而且重量很轻。
Div是简单的divisions,它们不能用于对页面中与语义相关联的部分进行分组。除此之外,它们没有隐含的含义。
表最初旨在显示科学数据,例如屏幕上的实验室结果。 Dave Raggett当然不打算将它们用于实现布局。
如果你记得上面的内容,如果你通常希望在表格中读到的话,我会发现它在你的脑海中保持相当清晰,那么这是合适的标签,如果是纯粹的布局,那么就用别的东西来完成你的需要。
One other use I would have for it
would be forms, particularly label :
textbox pairs. This could technically
be done in div boxes, but it's much,
much easier to do this in tables, and
one can argue that label:textbox pairs
are in fact tabular in nature.
我看到相当数量,尤其是MS开发人员。而且我在过去做了相当多的事情。它有效,但它忽略了一些可访问性和最佳实践因素。您应该使用标签,输入,字段集,图例和CSS来布局表单。为什么?因为这就是它们的用途,它更有效率,而且我认为可访问性非常重要。但这只是我个人的偏好。我想在谴责之前,每个人都应该先尝试一下。它快速,简单,干净。
推荐阅读
学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e
wps同时选择多个内容|WPS选中多个单元格,同时输入同样的内容,同时输入同样的内容),多个,选择,内容,wps,1.WPS怎样选中多个单元格,同时输入
反向选择word快捷键|word文档转向快捷键,,1. word文档转向快捷键打开 办公软件 Word ,选择文字 右键选择 文字方向在弹出的对话框里选择自
玩游戏,i7/i5如何选择,,CPU和显卡都在不断更新,每年都有越来越多的性能和特点,但它不一定对每个球员的必要。作为最强的英特尔旗舰处理器酷睿
6天的配件市场:CPU下降超过1000元的500G硬盘是第一选择,,今天,北京英特尔处理器市场,四大核心i7-975箱下降了3900元,价格已经跌至8000元,虽然性
重启电脑选择u盘启动|电脑重装系统选择u盘启动,,电脑重装系统选择u盘启动答方法如下一、准备工具1、一个U盘(尽量8G以上)2、一台正常能上
自己配置电脑选择cpu|电脑配置怎样选,,电脑配置怎样选买笔记本电脑主要看CPU、显卡、主板、内存、硬盘等硬件的性能参数,当然最关键的是考
ps反向选择快捷键|ps反向选择快捷键显示截屏,,ps反向选择快捷键显示截屏ps运行时最好把别的软件关掉,要不快捷键混淆。你应该是QQ打开了,关
499元SNB性价比ASLp61t板新的选择建议,,H61的产品由于价格优势,也可以适应和Turbo SNB发布高清解码和游戏性能已成为最后的主流价格非常优
电脑重置时的回收选项|重置电脑选择删除所有内容会怎样,,1. 重置电脑选择删除所有内容会怎样这种方式清除后的文件,一般人是很难恢复的。原
而不是一个光盘U盘U盘安装系统的原理_电脑知识,,核心提示:光盘已逐渐淡出电脑阶段,但由于移动硬盘的发展,我们仍然可以听歌曲和观看影碟,但是,
新千年的选择,gtx650ti提高显卡的评价,,评价综述: gtx650ti性能提高 整体性能,gtx650ti提高性能是无法预料的,总的来说,比hd7850弱一点,但差
git设置编码|git语言设置,,git设置编码点击cap4j搜索从git直接链接上拉代码。git语言设置Git是一个开源的分布式版本控制系统,可以有效、高
选择的快捷键|3d孤立当前选择的快捷键,,3d孤立当前选择的快捷键1、第一:孤立显示;它的快捷键为alt+q, 它的作用就是在复杂的操作场景中,我们
fcpx快捷键大全|fcpx选择快捷键,,fcpx选择快捷键快捷键是T或者按俩下T 。fcpx所有快捷键先单独试下每个这两个键位,不开任何程序的情况下