我有一个 HTML 复选框列表,我想以以下格式显示:
选择所有适用项: 标题 A 标题 B
选项 1 [ ] [ ] 选项 2 [ ] [ ] 选项 3 [ ] [ ]
我想知道编写这种语义化代码的最佳方法是什么?
我已经看到了一个关于语义正确的复选框的 相关问题,但这没有考虑标题。
有什么想法吗?
我有一个 HTML 复选框列表,我想以以下格式显示:
选择所有适用项: 标题 A 标题 B
选项 1 [ ] [ ] 选项 2 [ ] [ ] 选项 3 [ ] [ ]
我想知道编写这种语义化代码的最佳方法是什么?
我已经看到了一个关于语义正确的复选框的 相关问题,但这没有考虑标题。
有什么想法吗?
标记为行和列的数据?这几乎肯定是使用表格的情况。
想象一下,一旦用户完成选择并提交表单,您会将他们的选择显示给他们。 显然使用表格来显示收集的数据是正确的,所以使用表格来显示收集数据的表单也是正确的。
<fieldset><legend>Title 1</legend>
<input type="checkbox" id="t1o1"><label for="t1o1">Option 1</label>
<input type="checkbox" id="t1o2"><label for="t1o2">Option 2</label>
...
</fieldset>
<fieldset><legend>Title 2</legend>
...
<input type="checkbox" id="t3o2"><label for="t2o3">Option 2</label>
<input type="checkbox" id="t2o3"><label for="t2o3">Option 3</label>
</fieldset>
是的,这意味着需要重复一些文本内容,这在一定程度上会影响可维护性;然而,我认为对于一个表单来说,可用性应该优先于可维护性。
表格可能是最简单的方法,但我们知道表格应该用于数据。
因此,我会使用 div 结构:
+---style="width:XXXpx"--------------------------------------------------+
|+---style="width:100%"-------------------------------------------------+|
|| +class=opt++class=opt+||
|| | title a || title b |||
|| +---------++---------+||
|+----------------------------------------------------------------------+|
|+---style="width:100%"-------------------------------------------------+|
||+----------------------------------------------++class=opt++class=opt+||
||| Option 1 || [x] || [x] |||
||+----------------------------------------------++---------++---------+||
|+----------------------------------------------------------------------+|
| //repeat for every option |
+------------------------------------------------------------------------+
所有的东西都应该放在CSS中。(包括上面的“inline”宽度定义)
.opt {
float:right; width: 10%; /*probably*/ z-index: 99;
/*edit2:*/ position: relative;
}
我不确定这是否有效,我会尝试像这样。
编辑:顺便说一下,这些框是“div”。