什么时候使用结束标签和斜线是否合适?
<div></div>
VS。
<div />
答案 0 :(得分:4)
(可以)包含某些内容的元素需要结束标记,例如div
,a
和body
。
对于仅由元素本身组成的元素,例如img
,link
和br
,斜杠就足够了。
答案 1 :(得分:3)
如果您的DOCTYPE设置为XHTML,则只能使用自闭标记<div />
,因为这是从XML借用的,您可以使用自闭标记。如果您的DOCTYPE设置为HTML 4.01或HTML 5,则无法拥有它。
我不确定你想要这个的确切用例,但如果它是用于清除浮点数,你可以这样做而不必担心兼容性问题,尤其是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>