HTML5에서 여전히 슬래시가 필요합니까?


122

HTML5에서도 XHTML과 같이 슬래시가 여전히 필요합니까?

<img src="some_image.png" />

validator.w3.org는 내가 그것을 떨어 뜨려도 불평하지 않았고 경고조차하지 않았습니다. 그러나 일부 온라인 문서는 img, link, meta, br 등과 같은 태그에 여전히 끝 슬래시가 필요하다는 것을 나타내는 것처럼 보입니다.


6
아직도 ? 모든 HTML 버전에서 모든 태그를 닫아야 했습니까?
Gabe 2011 년

9
@Gabe XHTML 1.0 Strict가 필요합니다. 웹 페이지는 일반적으로 정상적으로로드되지만 유효하지 않은 것으로 간주됩니다.
CaptSaltyJack 2011 년

3
예,하지만 X가 멋져서 X가 거기에있는 것이 아니라 HTML과 XHTML 사이에 상당한 차이가 있습니다.

1
@Capt : 맞습니다.하지만 doctype이 XHTML을 나타내는 경우 에만 문제가됩니다.
Gabe

답변:


80

img 태그는 Void 요소이므로 종료 태그가 필요하지 않습니다.

Void elements area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr

...

Void 요소에는 시작 태그 만 있습니다. void 요소에 대해 종료 태그를 지정하면 안됩니다.

W3C | WHATWG

그것은 HTML5에서 엄격한 파싱이 아니므로 큰 해를 끼치 지 않을 것입니다.


내 편집자 (Komodo)가 '<img src = "x">'를 입력하고 Enter 키를 누르면 들여 쓰기 때문에 궁금합니다. HTML5 모드에서 후행 슬래시가 예상되며 이것이 올바른 동작인지 확인하고 싶었습니다.
CaptSaltyJack 2011 년

5
이것은 XHTML이 아니라 HTML이므로 필요하지 않습니다. 다행스럽게도 파서는 여전히 XHTML 스타일의 슬래시를 잘 이해하므로 그대로 두어도 아무런 문제가 없습니다. 어떤 이유로 든 필요한 경우 XHTML로 쉽게 역변환 할 수 있음을 의미합니다.
Nightfirecat 2011 년

4
@FreeRadical : 후행 슬래시는 void 요소에 대해 선택 사항이지만 종료 태그 는 유효하지 않습니다.
Ry-

26
질문은 종료 슬래시 (예 :) 에 관한 것이지만이 답변은 종료 태그 (예 <br/:) 만 참조합니다 . <br></br>
Free Radical

12
@FreeRadical이 정확합니다. 이 대답은와 혼동 an ending slash되어 an end tag인용 된 사양 단락을 오해 하기 때문에 기술적으로 올바르지 않습니다 . 이것은 @YannisDran의 혼란으로 이어집니다. @minitech는 진실을 정확하게 설명합니다.
ToolmakerSteve

94

HTML 5에서 닫는 슬래시는 이러한 void 요소에서 선택 사항 입니다 img(현재 허용되는 답변은 "void 요소에 대해 종료 태그를 지정해서는 안 됨"이라고 만 말하고 void 요소 의 닫는 슬래시를 다루지 않기 때문에 추가하고 있습니다).

http://www.w3.org/TR/html5/syntax.html#start-tags 에서 인용 (6 번) :

그런 다음 요소가 void 요소 중 하나이거나 요소가 외부 요소 인 경우 단일 "/"(U + 002F) 문자가있을 수 있습니다. 이 문자는 void 요소에는 영향을주지 않지만 외부 요소에서는 시작 태그를 자체 닫힘으로 표시합니다.


이것은 HTML5가 아닙니다. 사실, 이전 HTML 버전에서 <br/>또는 <img ... />오류가 있었다.
jj

@jj 나는 HTML5 문서를 인용하므로 왜 그것이 HTML5가 아니라고 생각하는지 이해가 안 돼요. 그리고 실제로 다른 버전에서는 그러한 슬래시가 오류였습니다.
자유 라디칼

물론, " HTML5에서 여전히 슬래시가 필요 합니까? "는 잘못된 질문입니다. 언젠가는 몇 가지 역사적 링크를 사용하여 완전한 답변을 쓸 수 있습니다. IIRC HTML5에서 후행 슬래시 를 허용 하는 것은 Ian Hickson (HTML 편집기)에게 어려운 결정이었습니다 .
jj

2

아니. HTML은 HTML5 이전에도 필요하지 않았습니다. HTML 기능과 함께 XHTML을 사용하려면 예, 필요합니다.


1
XHTML은 HTML5와 동일하지 않습니다. 맞습니까? 내 DOCTYPE이 "html"이면 후행 슬래시가 필요하지 않습니다. 맞습니까?
CaptSaltyJack 2011 년

@CaptSaltyJack : 맞습니다.
Ry-

1
@CaptSaltyJack-HTML5는 일반 HTML과 XHTML을 모두 다룹니다. XHTML은 모든 요소를 ​​닫아야하지만 브라우저의 경우 doctype은 상황에 영향을 미치지 않습니다. 자세한 설명은 stackoverflow.com/questions/2662508/…을
Alohci 2011 년


1

void 요소의 끝 슬래시는 선택 사항입니다.

둘 다 유효한 HTML5입니다.

<img src="some_image.png" />

<img src="some_image.png">

공허 요소는 다음과 같습니다.

  • area
  • base
  • br
  • col
  • embed
  • hr
  • img 👍
  • input
  • link
  • meta
  • param
  • source
  • track
  • wbr

흥미로운 것 외에도 :

Void 요소는 내용을 가질 수 없습니다 (종료 태그가 없기 때문에 시작 태그와 종료 태그 사이에 내용을 넣을 수 없습니다).

자세한 내용 : https://html.spec.whatwg.org/multipage/syntax.html#elements-2


SO-question here : HTML5의 자체 닫는 태그 (void 요소) 도 참조하세요.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.