嵌套定义列表在语义上是否正确,或者它们应该只是“名称/值对的平面列表”。
规格似乎并没有禁止它。
进一步的这个问题。
那么规范似乎允许它,只要只<dd>
包含嵌套列表。规范声明 a<dt>
是一个内联元素,因此它不能包含嵌套列表。A<dd>
是一个块元素,因此其中一个内的内部列表很好。
当然。DL
嵌套s没有任何问题。您可以在语义上拥有“子定义”。
有趣的问题。
确实 DefLists 旨在表示键和值,但它们的多重性不是 1,而是 1+。如果允许这种复杂性,并且记住 dt 是内联的,我认为用其他事物的树来表示定义事物没有语义问题。
我通过用无序或有序列表替换嵌套定义列表来解决这个问题,例如。
<dl>
<dd>Black hot drink</dd>
<ul>
<dd>White cold drink</dd>
<ol>
<dd>Red sweet drink</dd>
</ol>
</ul>
</dl>
如果它适用于所有浏览器,请执行此操作。
我知道这可能会引起争议,很多人可能会告诉你这不是应该使用的方式。网页设计的不成文规则,例如几乎任何事情都使用列表,这正是人们决定要做的事情。没有理由使用浮动(目的是在文本块中浮动图像)来布局网站上的每个小细节。但是,如果您尝试使用表格,那么您显然是泡沫前时代的白痴,并且您不知道如何设计。
所以,做你想做的事,不要为了解决问题而让事情变得更复杂。