<p>W3C 유효성 검사기(Wikipedia)는 비어 있지 않은 요소에 자체 닫는 태그("<code>/></code>"로 끝나는 태그)를 사용하는 것을 좋아하지 않습니다. (빈 요소는 어떠한 내용도 포함하지 않는 요소입니다.) HTML5에서도 여전히 유효합니까? </p>
<p>허용되는 빈 요소의 몇 가지 예: </p>
<pre class="brush:html;toolbar:false;"><br />
<img src="" />
<input type="text" name="사용자 이름" />
</pre>
<p>비어 있지 않은 거부된 요소의 몇 가지 예: </p>
<pre class="brush:html;toolbar:false;"><div id="myDiv" />
<span id="mySpan" />
<textarea id="someTextMessage" />
</pre>
참고:
W3C 유효성 검사기는 실제로 빈 자체 닫힘 태그를 허용합니다. 작성자는 처음에 간단한 오타(<code>/></code> 대신 <code>></code> 사용)로 인해 문제가 발생했습니다. ; 그러나 자체 닫는 태그는 HTML5에서 완전히 유효하지 않으며 답변은 다른 HTML 버전의 자체 닫는 태그 문제에 대해 자세히 설명합니다. </p></sub>
자동 폐쇄 div는 유효성을 검사하지 않습니다. 이는 div가 빈 요소가 아니라 일반 요소이기 때문입니다.
HTML5 사양에 따르면 콘텐츠를 포함할 수 없는 태그(빈 요소라고 함)는 자동으로 닫힐 수 있습니다*. 여기에는 다음 태그가 포함됩니다:
으아아아위 태그의 "/"는 완전히 선택사항이므로
<img/>
与<img>
没有区别,但<img></img>
는 유효하지 않습니다.*참고: 외부 요소도 자동으로 닫힐 수 있지만 이는 이 답변의 범위를 벗어난 것 같습니다.
이론적으로는 HTML 4,
<foo /
(是的,没有任何>
)的意思是<foo>
(这导致<br />
的意思是<br>>
(即<br>>
)和<title/hello/
的意思是<title>hello</title>
). 제가 "이론적으로"라는 용어를 사용하는 이유는 이것이 브라우저가 매우 열악하게 지원하는 SGML 규칙이기 때문입니다. 지원이 너무 부족하여(emacs-w3m에서만 작동하는 것을 보았습니다) 사양에서는 작성자에게 이 구문 을 사용하지 말 것을 권장합니다.XHTML에서
규칙입니다. 즉, XHTML은 일반적으로<foo />
的意思是<foo></foo>
。这是适用于所有XML文档的XML规则。也就是说,XHTML通常以text/html
的形式提供,这(至少在历史上)由浏览器使用与以application/xhtml+xml
提供的文档不同的解析器处理。W3C提供了关于XHTML作为text/html
은<foo></foo>
를 의미합니다. 이는 모든 XML 문서에 적용되는 XMLtext/html
로 제공되며, 이는 (적어도 역사적으로)application/xhtml+xml
파서 처리로 제공되는 문서와 다르게 브라우저에서 사용됩니다. W3C는 XHTML에 대한text/html
로 제공합니다. (기본적으로: 요소가 EMPTY로 정의된 경우에만 자체 닫는 태그 구문을 사용하십시오(그리고 HTML 사양에서는 닫는 태그가 금지되어 있습니다).<foo />
HTML5에서는 요소 유형- 에 따라 다릅니다.
- empty로 지정된 요소(기본적으로 "HTML5 이전에 존재했으며 어떤 콘텐츠도 포함할 수 없는 요소")의 경우 닫는 태그가 금지됩니다. 여는 태그 끝에 슬래시는 허용되지만 의미는 없습니다. 이는 XML(및 구문 강조 표시)에 익숙한 사람들을 위한 구문 설탕입니다.
다른 HTML 요소와 마찬가지로 슬래시는 - 오류
이지만 오류 복구로 인해 브라우저는 슬래시를 무시하고 태그를 일반 여는 태그로 처리합니다. 이로 인해 닫는 태그가 누락되어 후속 요소가 형제 요소가 아닌 하위 요소가 되는 경우가 많습니다.