html嵌套表未正确显示

时间:2014-03-30 03:14:48

标签: html

我正在尝试做嵌套表,但它们没有正确显示(虽然我指定了每个表格分区的宽度,但它们在所有表中都是相同的)。你能否找出问题所在,或建议一种避免问题的方法?

http://arbsq.net/canvas/tmp/out_aligned_table.htm

3 个答案:

答案 0 :(得分:2)

它们的宽度变化的原因是因为有些表被表中的内容推到了100%的宽度,而有些则没有。

如果您希望所有表格看起来都是窗口的宽度,那么您需要将width的{​​{1}}设置为100%

此外,使用一个表而不是多个表会更有意义。这样,一切都将是相同的宽度和对齐。

答案 1 :(得分:1)

夫妻俩。

第一件事是:验证您的HTML。

  • table内可能没有table。但是,您可以在table中包含td。如果你想嵌套表(不是说应该,但是如果你想要的话),你可以将它们放在表格单元格中。

  • 每个文档一个唯一ID。您在同一文档中可能没有id="r0" 178次。我修复了行ID,但您必须修复复选框ID。

  • title元素必须位于head而不是body。我把它搬到了正确的地方。

  • 最后一件事,但是可选:西班牙语中的所有td都应该具有搜索引擎优化的lang="es"属性。你必须自己做。

现在进行一些重大改革。

  • 从语义上讲,所有这些数据都属于一个table。我删除了所有表格并改为使用tbody。是的,table元素可能包含多个tbody个子元素。一些搜索和替换解决了这个问题。 顺便提一下,这将解决您的表格宽度问题。我还将部分ID从table移到了tbody

  • 行缩进,以提高可读性。你在这个网站上发布了你的工作,期待一些评论和反馈没有?帮助您的评论者,让他们想要阅读您的代码。起初,当我看到我喜欢的来源时,“哇,天啊。”但后来我决定通过简单的搜索和替换来解决它(使用\n插入换行符和\t插入制表符)。大多数读者都没有给你的代码第二眼。

  • CSS样式。绝对没有理由要求178个表中的每一个都有border="1"。或者更糟糕的是,在每个单元格上指定宽度。那是6,000个细胞,至少是这样!不仅HTML5中不推荐width属性,它也不是很干(不要重复自己)。如果你想改变宽度会发生什么?你需要改变多少行?有超过35,000。我通过添加8行CSS来修复它。

Here's the file with all the changes.

答案 2 :(得分:0)

HTML代码show table ID align是包装表ID section0

<table border="1" id="align"><table border="1" id="section0">

虽然在Google Chrome开发者工具中检查元素,但显示情况并非如此,并且表align为空。

您必须拥有一些未公开的HTML标记 - 但如果找不到10000000行,则无法找到问题以及忘记关闭HTML标记的位置。