XHTML에서 HTML DocType와 함께 웹 페이지의 일부를 작성하는 데 문제가 있습니까?

StackOverflow https://stackoverflow.com/questions/1040969

  •  22-07-2019
  •  | 
  •  

문제

나는 최근에 HTML/CSS를 배우기 시작했고 나 자신에게 사운드 웹 프로그래밍 관행을 가르치려고 노력하고 있습니다. 나는 XML에 익숙하므로 XHTML에서 웹 페이지를 코딩하는 것은 직관적이었고 건전한 것 같았습니다. 그러나 나는 같은 기사를 읽었습니다 이 하나그리고 지금 나는 모호합니다.

HTML 및 XHTML에서 코딩에 대한 우려는 다음과 같습니다.

  1. IMG 태그는 HTML에서 닫을 필요가 없으며, 이는 나에게 의미가 있습니다. 그러나 XHTML에서 IMG 태그는 펑키 한 것처럼 보이는 가까운 태그가 필요합니다. 나는 단지 사이에 아무것도없는 열린 닫기 및 닫기 태그를 갖는 것이 이상하다고 생각합니다.
  2. P 태그 (단락에서와 같이)는 HTML에서 닫을 필요가 없으며, 그것은 나에게 펑키합니다. XHTML에서와 같이 열린 태그와 닫기 태그 사이의 단락을 섹션하는 것이 합리적입니다.

이것들은 현재 내가 생각해 낼 수있는 유일한 기본 예이지만, 나는 그들이 HTML과 XHTML 사이에 내가 얼마나 분열되어 있는지 보여주기를 바라고 있습니다. 그래서 내 실제 질문은 다음과 같습니다. XHTML 코드를 던져도 (HTML DTD와 함께) HTML에 있어야하는 웹 페이지를 코딩 할 때 XHTML 코드를 던져도 괜찮습니까? 나는 웹 사이트가 똑같이 보일 것이라고 확신하지만, 사람들이 내 출처를 보려고한다면, 내가 끔찍하게 전문가가 아닌 코더라고 생각할까요?

또한, 나는 사운드 웹 프로그래밍 관행에 대한 Google을 통해 튜토리얼과 가이드를 통해 맹목적으로 살펴 보았으며 사람들이 나와 공유 할 조언/리소스가 있는지 궁금합니다. 나는 이것을 올바른 방법으로 배우는 방법을 배우고 싶다. 정말 감사하겠습니다.

읽어 주셔서 감사합니다!

편집 : 와우, 그런 빠른 응답; 당신들은 멋진데! 그래서 나는 웹 브라우저가 이런 종류의 것들에 관해서는 꽤 관대하다는 것을 이해합니다. 내 문제는 허영심에 대한 문제와 다른 전문가들이 XHTML과 HTML의 일종의 혼합을 작성하는 것에 대해 어떻게 느끼는지입니다. 엄격하게 호환 코드가 이동하는 방법입니까? 솔직히 바보처럼 보이고 싶지 않아, 하하.

도움이 되었습니까?

해결책

IMG 태그는 HTML에서 닫을 필요가 없으며, 이는 나에게 의미가 있습니다.

아니 꼬리표 닫아야합니다. 모두 집단 닫아야합니다.

대부분의 요소는 시작 태그, 일부 컨텐츠 및 엔드 태그로 구성됩니다.

이미지 요소에 내용이 없으므로 엔드 태그가 필요하지 않습니다. HTML에서는 내용을 가질 수없는 요소 ( "빈 요소")에는 엔드 태그가 금지되어 있습니다.

그러나 XHTML에서 IMG 태그는 펑키 한 것처럼 보이는 가까운 태그가 필요합니다.

XHTML은 SGML 응용 프로그램이 아닌 XML 애플리케이션이며 XML에는 엔드 태그가 금지되어 있음을 지정할 수있는 기능을 포함하여 SGML이 수행하는 모든 기능이 없습니다.

나는 단지 사이에 아무것도없는 열린 닫기 및 닫기 태그를 갖는 것이 이상하다고 생각합니다.

XML은 새로운 종류의 태그를 소개합니다.<foo />) 시작 및 엔드 태그 역할을 결합합니다.

HTML과 호환 XHTML을 작성하는 경우 (XHTML을 사용하고 인터넷 익스플로러와 같은 언어를 지원하지 않는 브라우저를 지원하려는 경우) ~해야 한다 해당 구문을 사용하십시오. (나는 HTML을 나 자신을 고수하는 것을 선호한다)

P 태그 (단락에서와 같이)는 HTML에서 닫을 필요가 없으며, 그것은 나에게 펑키합니다.

HTML의 많은 요소가 있습니다 선택 과목 끝 태그. 이렇게하면 묵시적 일 때 엔드 태그를 생략 할 수 있습니다.

예를 들어:

<p>Hello, world
<p>A second paragraph

AP 요소는 다른 P 요소를 포함 할 수 없으므로 새 단락을 시작하는 것을 100% 신뢰할 수 있음을 암시 할 수 있습니다.

즉, 그들은 그렇습니다 선택 과목, 금지되지 않았습니다. 본질적으로 비어 있지 않은 요소에 대해 명시적인 엔드 태그로 HTML 4.01을 쓸 수 있습니다.

HTML (HTML DTD 포함)에 있어야하는 웹 페이지를 코딩 할 때 XHTML 코드를 던져도 (적절하게 무언가를 명확하게 생각할 때) 괜찮습니까? 나는 웹 사이트가 똑같이 보일 것이라고 확신하지만, 사람들이 내 출처를 보려고한다면, 내가 끔찍하게 전문가가 아닌 코더라고 생각할까요?

비전문가처럼 보일 것입니다.

즉, XHTML 구문이 HTML 구문을 준수하지 않는 경우에는 3 배만 있습니다.

빈 요소 - 와 같은 <img> 그리고 <br> XHTML에서 명시 적으로 닫아야합니다. 그러나 당신은 그 구문이 마음에 들지 않았다고 말했습니다.

스크립트와 스타일 - XHTML의 임베디드 JS 및 CSS에 특정 문자를 사용하는 경우 문자 참조 또는 CDATA 마커를 사용해야하지만 이러한 요소는 HTML의 DTD에서 CDATA로 표시되어 있으므로 사용해서는 안됩니다. 어쨌든 내장 된 스크립트 또는 스타일.

네임 스페이스 - 그러나 HTML 문서 중간에 XML 네임 스페이스를 사용할 때는 시간이 없습니다.

다른 팁

HTML 5를 사용하면 XHTML 구문을 사용할 수 있습니다.

모든 브라우저를 표준 모드로 푸시하는 HTML 5 Doctype를 사용하여 시작할 수 있지만 HTML 5의 새로운 기능은 일부 브라우저에서만 지원됩니다.

로부터 웹 하이퍼 텍스트 응용 프로그램 기술 실무 그룹:

/> 또는>로 빈 요소를 닫아야합니까?

HTML의 무효 요소 (예 : BR, IMG 및 입력 요소)에는 후행 슬래시가 필요하지 않습니다. 예를 들어 글을 쓰는 대신 <br />, 당신은 글을 쓸 필요가 있습니다 <br>. 이것은 HTML 4.01과 동일합니다. 그러나 XHTML 1.0을 사용하려는 광범위한 시도로 인해 후행 슬래시를 사용하는 상당수의 페이지가 있습니다. 이로 인해 XHTML 1.0에서 HTML5로의 마이그레이션을 완화하기 위해 HTML의 무효 요소에서 후행 슬래시 구문이 허용되었습니다.

놀랍도록 간단한 HTML 5 DocType는 다음과 같습니다.

<!DOCTYPE html>

그렇습니다. 자체 폐쇄 태그가있는 표준 준수 HTML을 작성할 수 있으며 HTML 5 유효성 검사기. 업계는 XHTML2를 통해 HTML5를 채택하기로 널리 선택했으며 결과적으로 새로운 프로젝트에 XHTML을 사용하지 않는 것이 좋습니다.


편집 : 설명의 지점으로, 지금 HTML 5 Doctype를 사용하는 것이 안전하며, HTML 5가 업계 지원이 주어지면 XHTML 2에 걸쳐 널리 채택 될 것이라고 가정하는 것이 안전합니다. 확실히 HTML 5 문서를 작성할 수는 있지만 HTML5의 많은 기능은 다음과 같습니다. <canvas> (Silverlight와 경쟁한다는 점에서 MS의 지원 부족) 크로스 브라우저 지원이 없으며 변경 될 수 있습니다.

거의 모든 브라우저가 올바르게 렌더링 할 것이라는 점에서 '괜찮아'지만, 기름변 된 HTML/XHTML/XML/uthing. 그러나 선언 된 DocType (귀하의 경우 HTML DTD)와 일치하지 않는 모든 요소는 코드가 검증되는 것을 방지 할 수 있으며 기술적으로는 기형입니다.

반면에, 대부분의 웹 사이트 (올바르게 렌더링하는 웹 사이트조차도)는 검증되지 않으므로 큰 문제는 아닙니다. 나는 (엄격한) xhtml을 고수 할 것이다; 자체 폐쇄 태그에 관한 Jimr의 의견에 주목하십시오 (예 : <img src="foo" />).

아니요, 괜찮지 않습니다. 이론적으로는 적어도. HTML 문서에 XHTML 구문을 작성하면 유효하지 않습니다. 브라우저는 동일한 방식으로이를 렌더링 할 가능성이 높지만 여전히 유효하지 않습니다. 또한 XHTML에서 유효하고 HTML에서 유효하지 않은 유일한 것은 자체 폐쇄 태그입니다 (<br />). HTML의 Beacuse만으로도 태그를 닫을 필요가 없다고해서 닫을 수는 없습니다. 다음과 같은 마크 업을 쓸 수 있습니다.

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo. Quisque posuere nisl ac libero dictum posuere. Suspendisse in magna neque. Donec et vestibulum sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed at nulla dui.</p>

<img src="" alt="">

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo.</p>

보다? 유효한 HTML이며 좋아 보입니다.

BTW : 이것을 읽으십시오.

<DOCTYPE> SGML의 휴가이며 문서 상단에 한 번만 나타납니다. 문서 내에 다른 DocType 선언을 추가하면 HTML과 XHTML을 모두 위반하는 것입니다. 대부분의 브라우저는 아마도 당신을 용서할 것입니다.

페이지에서 두 가지를 모두 사용해야하는 경우, 중첩 문서를 iframe에 배치하는 것은 정의 별 Iframes가 별도의 창/문서 컨텍스트를 사용하기 때문에 표준과 더 일치 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top