【问题标题】:HTML Tables Within Tables表格内的 HTML 表格
【发布时间】:2012-06-06 23:59:12
【问题描述】:

我对 HTML 和 CSS 有点陌生。我想知道最好的方法是:

1) 在一页上以正方形的形式排列 4 个表格——即,每个表格都是一个象限,或者

2) 将 4 个表放在另一个表中。

感谢任何建议。

问候。

【问题讨论】:

  • 一张表格,2行,每行2个单元格怎么样?
  • 我的建议是不要使用表格进行布局。您可以使用an UL element 来实现这一点。 演示: jsfiddle.net/U7WJ4/1/show/light
  • 不是。表格不是布局工具,它们是数据结构。
  • 但是对表格数据使用表格,即使它包含其他表格也是一个不错的选择。
  • 似乎对您想要实现的目标感到困惑。您能否打开 Paint 并绘制布局,然后上传图片以便我们直观地看到您所追求的布局?

标签: html css


【解决方案1】:

如果您想将页面拆分为 2X2 表格,最好的方法是使用 Divs(也更容易在 divs 上应用 css)

<div style="width:auto;">
  <div style="float:left; width:50%">
     x-1,y-1
  </div>
  <div style="float:left; width:50%">
     x-2,y-1
  </div>
  <div style="clear:both"></div>
</div>
<div style="width:auto;">
  <div style="float:left; width:50%">
     x-1,y-2
  </div>
  <div style="float:left; width:50%">
     x-2,y-2
  </div>
  <div style="clear:both"></div>
</div>

http://css-discuss.incutio.com/wiki/Why_I_think_divs_are_better_than_tables

【讨论】:

    【解决方案2】:

    回答“将 4 个表放在另一个表中”。您问题的一部分:正如 Jonthan Sampson 在对您的问题的评论中所说:创建一个包含两行和每行两个单元格的表格。在每个单元格中,在 td 标记中放置一个表格:

    <table>
        <tr>
            <td>
                <table>
                    <tr>
                        <td>
                            Table 1/4
                        </td>
                    </tr>
                </table>
            </td>
            <td>
                <table>
                    <tr>
                        <td>
                            Table 2/4
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td>
                <table>
                    <tr>
                        <td>
                            Table 3/4
                        </td>
                    </tr>
                </table>
            </td>
            <td>
                <table>
                    <tr>
                        <td>
                            Table 4/4
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
    

    【讨论】:

    • 乔纳森说的是只使用一张桌子,而不是四张(在你的情况下是五张)。
    • 如果你仔细阅读他的问题,你可以看到他写的是“Put 4 tables in another table”。我将编辑我的答案以澄清这一点。
    • 我不是这么读的。看起来他想要一张有两行的表格,每行有两个单元格,并且每个单元格中都有嵌套表格。
    • 同意这个问题可以解释,但我认为他的问题的第一部分和第二部分是一个要求,即他希望有四个正方形布局的桌子,然后问如何实现通过将上述四个表放在一张表中。我认为当我回答了问题的那一部分时,投反对票是不合理的。
    【解决方案3】:
    <table>
      <tr>
        <td> Top left Information Here </td>
        <td> Top right Information here </td>
      </tr>
      <tr>
        <td> Bottom left Information Here </td>
        <td> Bottom right Information here </td>
      </tr>
    </table>​
    

    JSFiddle

    http://jsfiddle.net/DNYwc/

    【讨论】:

    • 您发布的代码回答了问题的第一部分还是第二部分(“以正方形形式排列四个表”或“将 4 个表放在另一个表中”)。
    【解决方案4】:

    这似乎可以归结为“以二乘二的形式显示四个元素,我应该使用表格还是其他方法?”的问题。元素是表格还是其他东西似乎与基本问题无关。

    如果这四个元素在逻辑上构成一个 2 × 2 的表,则在标记中使其成为这样的表。如果二乘二形成只是某些情况下的首选渲染,那么您可以使用其他方法,例如浮动,类似

    <div style="float: left">A</div>
    <div>B</div>
    <br clear=all>
    <div style="float: left">C</div>
    <div>D</div>
    <br clear=all>
    

    如果有足够的宽度,这将导致 2 x 2 渲染,但在狭窄的窗口中,A、B、C、D 将以 4 x 1 的形式出现。如果您使用表格,那么狭窄的窗口将强制水平滚动。选择实际上取决于哪种选择更适合内容和结构。

    【讨论】:

      【解决方案5】:

      老实说,听起来您想要 1 个表格,2 行,每行 2 个单元格。

      <table>
          <tbody>
              <tr>
                  <td>Top Left</td><td>Top Right</td>
              </tr>
              <tr>
                  <td>Bot Left</td><td>Bot Right</td>
              </tr>
          </tbody>
      </table>
      

      小提琴:http://jsfiddle.net/jonathansampson/gy5YC/

      如果是你想要的布局,还有更好的方法...

      请注意,尽管这可能会为您提供所需的布局结构,但将表格用于非表格数据(想想电子表格)是对元素的非法使用。

      如果您尝试对页面进行布局,您可以使用更好的选择。您可以使用四个div 元素,以固定方式定位到视口:

      <div class="panels">
          <div>Top Left</div>
          <div>Top Right</div>
          <div>Bottom Left</div>
          <div>Bottom Right</div>
      </div>
      

      ​​​​​​​ 小提琴:http://jsfiddle.net/jonathansampson/gy5YC/2/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-02
        • 1970-01-01
        • 1970-01-01
        • 2018-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多