显示基于列的数据但却看似非表格式的最佳方法是什么?

时间:2012-10-05 18:38:23

标签: css

我试图在我的网页中在语义上正确,但不知道如何继续:

我的数据看起来像这样或需要:

Name:  lastname, first mi Address:  123 Main St.  City, State, Zip:  more...
Fieldx:  data1 Fieldy:  more data...

我不想要的是常规表格数据,顶部是列标题:

name                 Address
lastname, first mi   Some address...

我不确定该怎么做才能做到这一点。当我查找无表格CSS时,我只找到表格和布局。

我在这里错了,我应该使用带有CSS的表单布局(而且没有表格)......它只是不是“表单”?

编辑:我只是将所有内容都放在一个div中,然后在spans中浮动吗?

2 个答案:

答案 0 :(得分:0)

我认为DIV是可行的方式。与CSS结合使用时,DIV可以提供更好的灵活性。

答案 1 :(得分:0)

您拥有的是结构上的名称/值对列表,它对应于两列表。它也可以标记为dl元素,如果我们采用自由现代解释dl实际上不是定义列表而是描述列表,而这些列表实际上是名称/值的列表对。它也可以标记为ul元素,其中每个li元素包含两个span元素(带有类),但是你会在结构中失去类似数组的想法。最后,您可以使用一些divp容器,其中包含具有交替类的span个元素。

所有这些与语义(意义)没什么关系。相反,它是关于结构。不考虑哪种方法更“正确”,而是考虑哪种方式最适合(并且可能在处理中,例如在客户端脚本中)。如果您想要表格布局,使用表格是很自然的。 (有点有趣的是,如果你想要这样的布局,那么你可能不应该使用表格,因为IE的旧版本不允许你在非table元素中设置样式 - 通常的方式。)

如果您打算将数据作为示例中的内联文本,那么我将使用

<div class=foo>
<span class=name>Name</span> <span class=value>lastname, first mi</span>
<span class=name>Address</span> <span class=value>123 Main St. </span>
  ...
</div>

这是一个有点冗长的标记,但它可以轻松设置样式,因为divspan没有默认样式(除了div表示前后换行),以及你可以方便地使用班级选择器。