0

验证我正在开发的网站,可以在这里查看,我收到错误消息:第 92 行,第 32 列:没有属性“DATA-BG”。我在整个网站中使用这样的数据属性:

<div class="sbi_panel" data-bg="slider/images/4.jpg">

因此,无法识别 data-bg 属性。我想知道这里有什么问题?

4

2 回答 2

2

问题是您的DOCTYPE,目前设置为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

W3C 验证器在确定要执行的验证类型时查看 DOCTYPE 声明。开头的 HTML 属性data-是一个 HTML5 想法,因此您需要将 DOCTYPE 更改为 HTML5,以便验证它是正确的。

于 2012-08-26T00:29:09.250 回答
0

根据 HTML 4.01 doctype 或任何已发布的 doctype,这些data-属性是不允许的,这对其功能没有影响;这只是一个句法问题。

选项:

  1. 只是忽略该消息。如果您有大量此类属性,这将变得不切实际,因为这些消息的数量使得很难检测到真正的标记错误。
  2. 构造一个允许data-您使用的属性的自定义 DTD。W3C 反对这个想法,但它的真正问题是大多数人不想参与 DTD,编辑 DTD 需要一些学习。在这种情况下,您只需将属性添加到coreattrs属性中。您需要分别添加每个data-属性。
  3. 更改为 HTML5 doctype 语句,<!doctype html>. 这使得所有data-属性都被允许,但它也意味着其他领域的限制。HTML5不是HTML 4.01 的纯粹扩展;例如,它声明大多数类型的meta标签无效(虽然大多数meta标签是无用的,但您可能有一些有用但目前在 HTML5 中不允许使用)。
于 2012-08-26T07:22:30.243 回答