html 约定 - 自关闭标签,>或/>,换句话说
或
>
当从网上获取一些教程时,我看到很多人将标签打开,例如 、
。但是,当我使用 Netbeans 编辑它们(HTML/JSP 页面)时,它会在这些标签上显示红色背景,直到我向其中添加斜杠为止。
-->
。
编写基于 HTML 的代码的正确方法是什么?
When take some tutorial from web, I see many people leaves tags open like <link ..>
, <img ..>
. But when I use Netbeans to edit them (the HTML/JSP pages), it show a red background on those tags until I add the slash into them. <br>
--> <br/>
.
Which is the correct way to write HTML-based code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
两者都适合 HTML。但不适用于 XHTML,它是一种 XML 方言。
某些元素不需要结束 (
/>
) 标记 - 特别是空元素(那些没有内容的元素)。例如
和
。这些也可以自关闭(分别为
和
)。这种自关闭相当于在打开标签之后紧接着有一个关闭标签。对于 XML,这样的非结束标记是无效的 - 它必须是闭合的,可以是自闭合的,也可以是具有闭合标记的。因此
不是有效的 XML,但
和
是有效的 XML。HTML 不是 XML,但为了更好的兼容性,一些工具尝试发出尽可能多的像 HTML 一样的 XML。
Both are fine for HTML. Though not for XHTML which is an XML dialect.
Some elements do not need a closing (
/>
) tag - in particular empty elements (those that do not have content). Examples are<hr>
and<br>
. These can also be self closing (<hr />
and<br />
, respectively). This self closing is equivalent to having a close tag immediately after the open tag.For XML, such a non closing tag is not valid - it must be closed, either self closing or have a closing tag. So
<hr>
is not valid XML, but<hr />
and<hr></hr>
are.HTML is not XML, but for better compatibility some tools try to emit as much XML like HTML as possible.
这取决于您使用的 DOCTYPE。如果您使用的是 HTML 4,则不应使用自结束标记;如果是 XHTML,则应创建有效的 XML;如果是 HTML 5,则结束斜杠是可选的,但不是必需的。
如果您尝试在 HTML 4 中使用结束标记,W3C HTML 验证器 将发出警告:
It depends which DOCTYPE you're using. If you're using HTML 4 then you shouldn't use self-closing tags, if XHTML then you should to make valid XML, and if HTML 5 then closing slashes are optional, but not required.
The W3C HTML Validator will throw a warning if you try to use closing tags in HTML 4:
>
对于HTML
是正确的,但对于XHTML
是不正确的。检查您的文档类型。对于
HTML 严格
对于
XHTML strict
>
is correct forHTML
, but incorrect forXHTML
. Check your DOCTYPE.for
HTML strict
and
for
XHTML strict