嵌套表 - 合法吗?

时间:2012-12-30 17:47:03

标签: css responsive-design html-table semantic-markup

我正在创建一个餐厅菜单,我不确定是否应该使用表格,特别是如果我应该使用嵌套表格。这有效吗?我认为餐馆菜单可以被视为表格数据。

使用嵌套表创建结构在任何浏览器中都非常方便和稳定,但我不知道这是否是正确的方法。这是它的样子:

http://jsbin.com/ejoqad/1/edit

  <table>
    <tr>
      <td>
        <table>
          <tr>
            <td>PIZZA</td>
          </tr>
          <tr>
            <td>onions,cheese</td>
          </tr>
        </table>
      </td>
      <td>3.5 $</td>

    </tr>
  </table>

此外,当我尝试针对不同设备优化设计时,这种结构可能会给我带来麻烦吗?

4 个答案:

答案 0 :(得分:2)

这当然有效,但你应该只使用<br />代替整个表来打破一条线。

答案 1 :(得分:0)

根据HTML 5 spec,使用rowspan属性可以通过较少的标记实现相同的效果。

基本思想是<td>元素可以跨多个行或列(对行使用rowspan,对列使用colspan),方法是将属性设置为整数值。因此,<td rowspan="2">是跨越表的两行的单元格。

这些属性存在于HTML 3.2中,因此兼容性非常好(我测试回IE8没有问题)。

这里有更新的jsbin供参考:http://jsbin.com/ejoqad/5/edit

答案 2 :(得分:0)

看起来您的菜单是一个数据表,因此无论布局如何,使用HTML表在语义上都是正确的。干得好。但是我不知道你为什么需要使用两个嵌套表。

答案 3 :(得分:0)

HTML表用于存储表格数据,如矩阵。

您的菜单可能是一个列表吗?它可以使用uls。布局样式比表格更灵活。

如果您的意图纯粹是表格数据并且在布局中没有任何意义,那么请尝试稍后进行布局:p

如果您有意将其用作布局容器,那么您的想法是错误的。我认为使用表格进行布局的任何情况都是因为CSS很麻烦,例如不同高度的列,或者我想要没有JS的情况下,某些区域的静态宽度/高度和中间的区域是灵活的。

相关问题