프로그래밍 언어/HTML,CSS,JS

공백이 아닌 태그가 HTML5에서 유효한가요?

Rateye 2021. 8. 10. 11:02
728x90
반응형
질문 : 공백이 아닌 태그가 HTML5에서 유효한가요?

W3C 유효성 검사기 는 무효가 아닌 요소 /> "로 끝나는 태그)를 좋아하지 않습니다. (Void 요소는 콘텐츠를 포함 할 수없는 요소입니다.) HTML5에서도 여전히 유효합니까?

허용되는 void 요소의 몇 가지 예 :

<br />
<img src="" />
<input type="text" name="username" />

무효가 아닌 거부 된 요소의 몇 가지 예 :

<div id="myDiv" />
<span id="mySpan" />
<textarea id="someTextMessage" />

노트 :
W3C의 유효성 검사기가 실제로 무효 자동 폐쇄 태그를 허용합니다 저자가 원래 때문에 단순한 오타의 문제가 있었다 ( \> 대신 /> ); 그러나 자동 종료 태그는 일반적으로 HTML5에서 100 % 유효하지 않으며 다양한 HTML 버전에서 자동 종료 태그 문제에 대한 답변이 자세히 설명되어 있습니다.

답변

  • (이론적으로) HTML 4 에서 <foo / (예, 아니요 > 는 전혀 없음)는 <foo> ( <br /> 의미 <br>> (즉 <br>&gt; >))와 <title/hello/ 의미 <title>hello</title> ). 저는 "이론적으로"라는 용어를 사용합니다. 왜냐하면 이것은 브라우저가 지원하는 데 매우 열악한 작업을 수행 한 SGML 규칙이기 때문입니다. 사양은 작성자에게 구문을 피하라고 조언 하는 지원이 거의 없었습니다 (emacs-w3m 에서만 작동하는 것을 본 적이 있습니다).
  • XHTML 에서 <foo /><foo></foo> 합니다. 이것은 모든 XML 문서에 적용되는 XML 규칙입니다. application/xhtml+xml 로 제공되는 문서와 다른 파서를 사용하여 브라우저에서 처리되는 text/html 로 제공되는 경우가 많습니다. W3C는 XHTML에 대해 따라야 할 호환성 지침 text/html 합니다. (본질적으로 : 요소가 EMPTY로 정의되고 HTML 사양에서 종료 태그가 금지 된 경우에만 자동 닫는 태그 구문을 사용합니다).
  • HTML5 <foo /> 의 의미 는 요소 유형에 따라 다릅니다 .
    • void 요소 로 지정된 HTML 요소 (본질적으로 "HTML5 이전에 존재하고 콘텐츠를 가질 수없는 요소")에서는 종료 태그가 금지됩니다. 시작 태그 끝에 슬래시가 허용되지만 의미는 없습니다. XML에 중독 된 사람 (및 구문 강조 표시기)을위한 구문 설탕 일뿐입니다.
    • 다른 HTML 요소에서 슬래시는 오류 이지만 오류 복구로 인해 브라우저가이를 무시하고 태그를 일반 시작 태그로 취급합니다. 일반적으로 누락 된 종료 태그로 인해 후속 요소가 형제 대신 자식이됩니다.
    • SVG와 같은 XML 응용 프로그램에서 가져온 외부 요소는이를 자체 닫는 구문으로 처리합니다.

 

출처 : https://stackoverflow.com/questions/3558119/are-non-void-self-closing-tags-valid-in-html5
728x90
반응형