2009-02-18 71 views
7

由于CSS图像替换技术,我的代码中有很多空的span标签等等。 它们触发HTML验证警告。我应该在乎吗?空的HTML标签

谢谢。

回答

1

警告不是错误。这只是提醒你应该改进一些东西。

+5

这只是你应该提高的东西的提醒。 - 我生命的故事;) – 2009-02-18 12:44:18

10

我同意@Gumbo,但有很多警告没有区别可以隐藏你需要注意的警告。如果你可以在摆脱警告但不破坏你的用户界面的范围内放置东西,你至少应该考虑这样做。

1

我想如果带宽是一个问题,那些空标签可以重新访问,看看你是否可以让它们一起出现。

8

您应该考虑屏幕阅读器等页面的行为。通常会在标签中放置几张描述图像的文字,然后通过图像替换进行隐藏。

请参阅CSS Zen Garden您可以在其中看到像跨度为H1的示例,其中文本被CSS替换为图像。

这不仅会改善您网站的可访问性,还会提高搜索能力。

9

我已经验证了我的工作流程的一部分,因为它可以帮助我尽早发现错误。虽然我不认为空元素是一个问题,但如果我不得不每次都在精神上解析一系列警告并确定警告是否重要,那么它将否定使用验证程序的某些价值。所以我尽量保持我的页面不出现错误和警告,以便快速浏览HTML Validator icon in the Firefox status bar仅在出现真正问题时才会更改。为此,我通过插入一个空注释来保留空元素“非空”。

<span><!-- --></span> 

现在(至少与整洁验证工作。)

,他这样说,我不认为这是对很多情况下都需要的。认为为了避免验证器警告而在代码中添加八个额外字符是非常合理的,这很荒谬。但它适用于我。

+0

这是一个很好的解决方案,谢谢! – Hikari 2013-01-09 20:56:29

2

“空”的标签在HTML一个非常明确的定义:

<span/> 

<span></span> 

前者不会被允许HTML 4.0 Strict DTD,所以应该由验证被标记。唯一可以使用前一种语法的标签是DTD中明确标识为“EMPTY”的标签(例如,<br>)。

第二种形式是有效的HTML,并且不会被W3C validator标记。所以我必须假设(1)你的验证器坏了,或者(2)你错误地使用了标签。

0

Eric Meyer也表示empy标签在语义上是不好的。

警告并不意味着它是错误的,但说它可以,或者有时应该更好。

以同样的方式

if("value"==variable) 

优于

if(variable=="value")