空HTML标记

时间:2009-02-18 12:38:40

标签: html validation

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

感谢。

7 个答案:

答案 0 :(得分:10)

我同意@Gumbo,但是有很多没有任何区别的警告可以隐藏那些你需要注意的警告。如果您可以在跨度中放置一些消除警告但不会破坏UI的内容,那么您至少应该考虑这样做。

答案 1 :(得分:9)

我已将验证作为我工作流程的一部分,因为它可以帮助我尽早发现错误。虽然我不认为空元素是一个问题,但如果我每次必须在心理上解析一个警告列表并决定警告是否重要,它就会否定使用验证器的一些价值。因此,我尝试让我的页面保持错误和无警告,以便快速浏览HTML Validator icon in the Firefox status bar只会在出现真正问题时进行更改。为此,我通过插入空注释来保持空元素“空虚”。

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

(至少适用于Tidy验证器。)

现在,正如所说的那样,我认为在许多情况下这根本不是必需的。完全合理地认为在代码中添加八个额外字符只是为了避免验证器警告是荒谬的。但它对我有用。

答案 2 :(得分:8)

您应该考虑屏幕阅读器之类的页面行为。通常会在标签中插入一些描述图像的单词,然后由图像替换隐藏。

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

这不仅可以改善您网站的可访问性,还可以改善搜索功能。

答案 3 :(得分:2)

“空”标签在HTML中有一个非常具体的定义:

<span/>

<span></span>

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

第二种形式是有效的HTML,并且不会被W3C validator标记。

所以我必须假设(1)你的验证器坏了,或者(2)你错误地使用了标签。

答案 4 :(得分:1)

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

答案 5 :(得分:1)

我认为如果带宽是一个问题,可以重新访问这些空标签,看看是否可以让它们完全出现。

答案 6 :(得分:0)

Eric Meyer也说empy标签在语义上是坏的。

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

以同样的方式

if("value"==variable)

优于

if(variable=="value")