在 XHTML 语法中,引号始终是必需的(但您也可以使用单引号,即“撇号”)。如果页面以 text/html 内容类型提供,这并不重要,因为它几乎总是这样:浏览器会将其解析为草率的 HTML,而不是真正的 XHTML。但是,如果页面是使用 XML 内容类型提供的,或者如果它在需要 XHTML 或其他 XML 的程序中打开,那么缺少引号会导致严重的错误处理:只显示错误消息,根本不显示内容。
在示例情况下,XHTML 语法被用于其他情况:关闭“>”之前的“/”属于 XHTML,而不是 HTML。在这方面编写 XHTML 没有什么意义,但并非始终如一。
在 HTML 语法中,形式规则取决于 HTML 版本。HTML5 比 HTML 4.01 更宽松。例如,<a href=/foo/bar/ title=What???>
是有效的 HTML5 但不是有效的 HTML 4.01。这在验证中很重要,并且取决于您希望针对哪个版本的 HTML 进行验证(即,您主要尝试遵守哪个版本)。在本期中,HTML5 反映了浏览器实践:长期以来,浏览器比 HTML 4.01 更加宽容。
根据HTML5 规则,仅当属性值包含以下任何字符时才需要引号(尽管始终允许):空格、制表符、换行符、换页符、回车符、引号 (")、撇号 (')、等于符号 (=)、小于号 (<)、大于号 (>) 或坟墓 (`),或者为空。
也有关于此事的意见以及编码风格指南和其他建议。大多数考虑此类问题的人显然倾向于始终在属性值周围加上引号的“安全”方式。有些人认为引号提高了代码的可读性;其他人认为他们减少了它。