从网络上学习一些教程时,我发现有很多人会将标签打开,如<link ..>
,<img ..>
。但是当我使用Netbeans编辑它们(HTML / JSP页面)时,它会在这些标签上显示红色背景,直到我将斜杠添加到它们中。 <br>
- &gt; <br/>
。
编写基于HTML的代码的正确方法是什么?
答案 0 :(得分:6)
两者都适用于HTML。虽然不适用于XML方言的XHTML。
某些元素不需要关闭(/>
)标记 - 特别是空元素(没有内容的元素)。示例包括<hr>
和<br>
。这些 也可以自动关闭(分别为<hr />
和<br />
)。这种自动关闭相当于在打开标记之后立即使用关闭标记。
对于XML,这样的非结束标记无效 - 必须关闭它,自关闭或具有结束标记。因此<hr>
不是有效的XML,但<hr />
和<hr></hr>
是。
HTML不是XML,但为了更好的兼容性,一些工具尝试尽可能多地发出像HTML一样的XML。
答案 1 :(得分:5)
这取决于您使用的DOCTYPE。如果您使用的是HTML 4,则不应使用自动关闭标记,如果XHTML则应该生成有效的XML,如果HTML 5则关闭斜杠是可选的,但不是必需的。
如果您尝试在HTML 4中使用结束标记,W3C HTML Validator将发出警告:
序列可以 解释至少两种不同的 方式,取决于的DOCTYPE 文献。对于HTML 4.01严格, '/'终止标签')。但是,很多 浏览器不会这样解释, 即使存在HTML 4.01 严格的DOCTYPE,最好避免它 完全在纯HTML文档和 仅保留其用途 用XHTML编写。
答案 2 :(得分:1)
>
对于HTML
是正确的,但对XHTML
不正确。检查您的DOCTYPE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
HTML strict
和
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
代表XHTML strict