[html] 슬래시를 닫기 전 공백?

XML 및 HTML 태그에서 닫는 슬래시 앞에 공백이있는 것을 자주 보았습니다. XHTML 줄 바꿈은 아마도 표준적인 예일 것입니다.

<br />

대신에:

<br/>

공간이 불필요 해 보입니다. 실은 불필요하다고 생각합니다.

이 공간을 쓰는 이유는 무엇입니까?

나는이 공간이 일부 “이전 호환성 문제”를 해결한다고 읽었습니다. 이전 버전과의 호환성 문제는 무엇입니까? 이러한 문제가 여전히 관련이 있습니까? 아니면 IE3 호환성을 위해 여전히 추가 공간을 추가하고 있습니까? 이것에 대한 확실한 답을 가진 스펙이 있습니까?

이전 버전과의 호환성이 아니라면 가독성 문제입니까? Great Open Curly Brace 토론과 유사합니까?

void it_goes_up_here() {

int no_you_fool_it_goes_down_there()
{

나는 확실히 다른 문체 의견을 존중할 수 있으므로 공간을 쓰는 것은 단순히 취향의 문제라는 것을 알게되어 기쁩니다.



답변

대답은 사람들 이 XHTML1.0 사양의 부록 C 를 준수하기를 원한다는 것 입니다. XHTML을 text / html로 제공하는 경우에만 수행해야합니다 . 대부분의 사람들은 XHTML의 실제 MIME 유형 (application / html + xml)이 Internet Explorer에서 작동하지 않기 때문에 수행합니다.

현재 브라우저는 공간을 신경 쓰지 않습니다. 브라우저는 이러한 것들을 매우 관대합니다.

HTML 파서가 후행 슬래시를 인식 할 수없는 속성으로 처리하도록하는 데 필요한 공백입니다.


답변

HTML에서 <br/> 및 <br />의 다른 동작을 보여주는 Netscape 4.80

문서를 보여주는 Netscape 4.80 스크린 샷으로 bobince의 답변 지원

data:text/html,<title>space</title>foo<br />bar

(왼쪽 상단, 렌더링 된 줄 바꿈) 및

data:text/html,<title>no space</title>foo<br/>bar

(왼쪽 하단, 줄 바꿈 무시).


사진을 보여주기 위해 답변으로 게시

사실 내가 즉, 오해의 SGML 사양에 (공백을 포함하고 결과 추천) 고대의 브라우저와 같은 잘못된 행동의 원인을 식별하는 긴 대답했다 : 접선 방향으로 관련 SGML 널 종료 태그 ( NET을 ) (여기서이 1<tag/2/3동일 1<tag>2</tag>3하므로 1<tag/>2것 실제로 평균 1<tag>>2)하지만, 표준의 좋은 증거와 구체적인 버전을 찾을 수 없었을뿐만 아니라 적절한 표준 준수 동작도 파악할 수 없었습니다. 참조 용 원시 링크가 거의 없습니다.

(지금은 재현 할 수 없지만 이로 인해 영향을받는 여러 브라우저에 대한 Lee Kowalkowski의 진술을 지원합니다.)


답변

이러한 문제가 여전히 관련이 있습니까? 아니면 IE3 호환성을 위해 여전히 추가 공간을 추가하고 있습니까?

당신은 가까웠습니다. Netscape 4 용입니다.

다른 합리화를 보는 것은 흥미롭지 만 그게 의도 된 전부입니다.


답변

아니요, 공간은 필요하지 않지만 일부 오래된 브라우저에서 이러한 태그를 올바르게 렌더링하는 데 필요합니다. 이를 수행하는 적절한 방법은 XHTML이 XML에서 상속 된 것이므로 추가 공간이없는 것입니다.


답변

XHTML에서는 br 태그를 닫아야 하지만 공백이 필요하지 않습니다 . 스타일리시 한 것입니다. HTML에서는 br 태그를 닫을 수 없으므로 둘 다 잘못되었습니다.


답변

공백은 태그를 더 읽기 쉽게 만듭니다. 나는 더 읽기 쉬운 코드를위한 포맷팅의 큰 지지자입니다. 그런 작은 것들이 먼 길을 가고 있습니다. 공백이 없으면 닫는 태그가 여는 태그와 혼합됩니다. 코드를 빠르게 읽을 때 처리하는 데 시간이 조금 더 걸립니다.


답변

아주 게으른 HTML 작성자가 있거나 인용 부호에 대한 두려움이 있다면 어떨까요? 그의 로봇 페이지 크롤러라면 다음을 고려하십시오.

<img src=http://myunquotedurl.com/image.jpg />

<img src=http://myunquotedurl.com/image.jpg/>

이것은 작게 보일 수 있지만 공간이 없으면 무엇을 할 수 있는지보세요. 로봇은 슬래시가 URL의 일부인지 닫는 태그의 일부인지 알지 못합니다.