html dl没有效果,html – 为什么没有dt标签的dl标签会验证

标记验证的主要目的是在一定程度上检查标记的语法,以及某些特定元素类型和属性的结构.它不会评估标记的语义.

对于像HTML 4这样使用DTD进行验证的语言,唯一需要检查的是标记符合该DTD,并且您只能将语义指定为DTD.例如,只要你正确地标记一个表,无论你是用它来进行布局还是用于表格数据,它仍然会验证,因为你不能单独使用DTD来说明该表是什么正在使用即使它被正确标记.

在这种情况下,HTML 4.01 spec和DTD1对dl元素的唯一说法是它可以有dt或dd子元素(或两者),并且不能为空:

%attrs; -- %coreattrs, %i18n, %events --

>

甚至HTML 4.01规范也没有详细说明dl的各种可能的内容模型.它没有说明是否有一个没有相关dt内容的dd元素列表或者需要将dd元素与至少一个dt元素相关联是有意义的.

然而,HTML5 does非常简洁地说明了这一点

If a dl element has one or more dd element children but no dt element children, then it consists of one group with values but no names.

从功能和语义的角度来看,这有点像ul,可以这么说.当然,在这种情况下你也可以使用ul代替,但要么是一个未命名的关联值组和一个无序的事物列表之间存在细微差别,或者标准对dl的想法非常满意只有dd孩子.

1您可能想知道,为什么不让HTML 4 DTD要求每个dl至少有一个dt子(并且可选地至少有一个dd)?除了在面对HTML5时这仍然无关的事实,无论如何仍然允许它,这不是我能回答的问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值