关闭HTML标记

时间:2011-08-31 18:04:51

标签: html xhtml

什么时候使用结束标签和斜线是否合适?

<div></div>

VS。

<div />

5 个答案:

答案 0 :(得分:4)

(可以)包含某些内容的元素需要结束标记,例如divabody

对于仅由元素本身组成的元素,例如imglinkbr,斜杠就足够了。

答案 1 :(得分:3)

如果您的DOCTYPE设置为XHTML,则只能使用自闭标记<div />,因为这是从XML借用的,您可以使用自闭标记。如果您的DOCTYPE设置为HTML 4.01或HTML 5,则无法拥有它。

http://www.w3.org/TR/xhtml1/

我不确定你想要这个的确切用例,但如果它是用于清除浮点数,你可以这样做而不必担心兼容性问题,尤其是IE,如果它进入仿真模式。

<style type="text/css">
.clear-fix {
    clear: both !important;
    display: block !important;
    font-size: 0 !important;
    line-height: 0 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
</style>
<br class="clear-fix" />

答案 2 :(得分:1)

不同之处在于,如果您不使用结束标记,则只能设置标记的属性。

如果你需要一些内容,你需要一个开头和一个结束标签,内容介于两者之间。

例如,如果您需要使用<br/>跳过一行,您在技术上也可以使用<br></br>,但没有人会这样使用它,因为行跳过之间永远不会有任何内容。

<div>的情况下,你可能会有很多内容,最后需要一个结束标记。

答案 3 :(得分:1)

如果您查看HTML DTD(4.01严格,因为5 dtd仍在进行中且尚未发布),您会看到某些元素是使用EMPTY定义的,这意味着这些可以自我关闭。没有此定义的元素不能自动关闭。

例如,br元素:

<!ELEMENT BR - O EMPTY                 -- forced line break -->

div元素没有以这种方式定义,因此永远正确地关闭div

<!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->

答案 4 :(得分:0)

如果元素是自包含的,并且具有在没有任何innerHTML的情况下呈现自身所需的所有内容,那么您可以使用速记<hr />,否则您应该使用

 <div> InnerHTML here </div>