我试图在我的网页中在语义上正确,但不知道如何继续:
我的数据看起来像这样或需要:
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中浮动吗?
答案 0 :(得分:0)
我认为DIV是可行的方式。与CSS结合使用时,DIV可以提供更好的灵活性。
答案 1 :(得分:0)
您拥有的是结构上的名称/值对列表,它对应于两列表。它也可以标记为dl
元素,如果我们采用自由现代解释dl
实际上不是定义列表而是描述列表,而这些列表实际上是名称/值的列表对。它也可以标记为ul
元素,其中每个li
元素包含两个span
元素(带有类),但是你会在结构中失去类似数组的想法。最后,您可以使用一些div
或p
容器,其中包含具有交替类的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>
这是一个有点冗长的标记,但它可以轻松设置样式,因为div
和span
没有默认样式(除了div
表示前后换行),以及你可以方便地使用班级选择器。