情景
我正在审查我的一个devs HTML结构的项目,我注意到他使用了一堆<div>
元素来构建主导航。然后我注意到,在其中一个页面上,他使用了一个表来构建一个测验类型布局。
- Question <radio> <radio> <radio>
- Question <radio> <radio> <radio>
最后,我看到页脚导航由一堆<div>
包裹的锚链接组成(在我的意见中并不太糟糕)。
作为一个关于我的团队工作质量的完美主义者,我告诉他重构所有这些部分并将它们放在无序列表中。我说
这些部分中的每一部分实际上都是列表。问题列表,主要导航链接列表和页脚链接列表。因此,您应该使用
<ul>
。
他说得好,但说“为什么?”你是不是在藐视清单的目的,不应该用它作为要点吗?
我告诉他这是一个很好的问题,但我只是遵循一个普遍的做法以及世界其他地方正在做的事情。
所以在您看来,过度使用列表不良做法?
答案 0 :(得分:1)
任何无序列表都应位于ul
。
任何有序列表都应位于ol
。
通过坚持这种做法可以清楚地表达语义。
当然有例外。这是一个小常识将有所帮助的地方。例如,可能有人认为网站的结构是一个大的无序列表([header, content, footer]
),但我不建议这样做。
答案 1 :(得分:1)
测验布局让我觉得是表格数据。我绝对会把它放到一个表中,特别是如果单选按钮附带可变长度的文本。
对于其他人,你是对的:列表与“有子弹点”无关。对于任何类型的lists of information,列表元素都是正确的元素,无论它们在默认情况下如何设置样式。
一个鲜为人知的值得了解的HTML元素是dl
definition lists.许多内容都被放入ul
中,语义上更适合dl
s。我自己从未使用过它 - 我也倾向于把所有东西塞进ul
s。 :)
W3C页面的一个例子:
<DL>
<DT>Dweeb
<DD>young excitable person who may mature
into a <EM>Nerd</EM> or <EM>Geek</EM>
<DT>Hacker
<DD>a clever programmer
<DT>Nerd
<DD>technically bright but socially inept person
</DL>
答案 2 :(得分:1)
在HTML 4中,使用列表构建导航是一种最佳做法,不是因为每个人都在这样做,而是因为导航通常是列表本身。简单地说,它们是链接列表。 (有序列表在构建语义形式时通常非常有用。)
在HTML 5中,所有这些都被更具体的<nav>
元素取代。听起来就是这样。
答案 3 :(得分:1)
归结为代码灵活性和持续管理。列表就是这样,列表。它们适用于内容项目符号和导航菜单。一些HTML编码器为了基本格式化而滥用列表。这是错的。很容易说出任何东西都是清单......我把所有的袜子并排放在同一个抽屉里......所以它们必须是正确的清单?不,不是真的。
将列表用于标准内容格式或菜单。不要将它们用于一般的页面布局,它只会让你的代码变得严格。
答案 4 :(得分:1)
无序列表的使用完全失控。他们是新表。我经常看到它们在你有两个或更多相似元素的时候被使用。我看到人们将块级元素放入其中。在我的书中,这在语义上并不正确。这只是一种不成比例的练习。