0

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

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

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

4 回答 4

2

这当然是有效的,但您可能应该只使用<br />而不是整个表来换行。

于 2012-12-30T17:48:49.660 回答
0

根据HTML 5 规范rowspan,使用属性可以用更少的标记实现相同的效果。

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

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

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

于 2013-01-04T13:59:09.967 回答
0

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

于 2013-01-04T14:21:23.427 回答
0

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

你的菜单可能是一个列表吗?那时它可以使用 uls。与表格相比,布局样式更灵活。

如果您的意图纯粹是呈现表格数据并且在布局中没有任何手段,请执行此操作并尝试稍后对其进行布局:p

如果您打算将其用作布局容器,那么您的想法就错了。我考虑使用表格进行布局的任何情况都是在使用 CSS 时很麻烦,比如具有不同高度的列,或者当我希望没有 JS 的情况下有一些具有静态宽度/高度的区域和中间的一些灵活的区域。

于 2013-01-08T20:27:36.073 回答