일부 웹 페이지는 표준에 따라 생성되지만 그렇지 않은 사람도 많습니다. 표준을 따르는 웹 페이지를 만들 수 없더라도 브라우저가 표준에 따라 해당 페이지를 올바르게 표시하기를 원합니다. 현재 많은 웹 페이지에 많은 비표준 코드가 채워져 있으며 여전히 제대로 작동합니다. 실제로, 이전 브라우저를 위해 설계된 대부분의 코드는 최신 브라우저에 올바르게 표시됩니다 (렌더링되는 방식에는 차이가있을 수 있지만). 그 이유는 무엇입니까? 실제로 최신 표준을 엄격히 따르는 것은 해당 페이지의 생존 기반을 완전히 훼손합니다. 이것은 차이를 만들고자하는 모든 브라우저에게는 용납 할 수 없습니다.
브라우저 렌더링 모드
최신 브라우저에는 다양한 렌더링 모드가 포함되어 있으며, 기존 브라우저를 위해 설계된 표준과 웹 페이지를 따르는 웹 페이지를 모두 지원합니다. 그중에서도 표준 모드 (즉, 엄격한 프리젠 테이션 모드)는 최신 표준을 따르는 웹 페이지를 제시하는 데 사용되는 반면, Quirks 모드 (즉, 느슨한 프레젠테이션 모드 또는 호환 모드)는 기존 브라우저 용으로 설계된 웹 페이지를 제시하는 데 사용됩니다. 또한 Mozilla/Netscape 6은 기존 버전의 표준을 위해 설계된 웹 페이지를 지원하기 위해 거의 표준 모드를 추가했습니다.
DocType Switch 란 무엇입니까?
웹 페이지 상단에 배치 된 DocType 선언은 브라우저를 올바른 렌더링 모드로 가져 오는 열쇠입니다. 브라우저는 적절한 렌더링 모드로 자동 전환하여 DocType 선언으로 지정된 문서 유형을 올바르게 표시합니다.
이론적으로 이것은 매우 직관적 인 스위치 여야합니다. DocType가 현재 웹 페이지가 표준 (예 : HTML 4+ 또는 XHTML 1+)을 준수하는 문서라고 지적하면 브라우저는 표준 모드로 전환됩니다. DocType가 지정되지 않았거나 HTML 3.2 및 이전 버전이 지정된 경우 브라우저는 Quirks 모드로 전환됩니다. 이러한 방식으로 브라우저는 표준과 일치하지 않는 구식 웹 페이지를 완전히 포기하지 않고 표준을 올바르게 따르는 문서를 표시 할 수 있습니다.
DocType 전환 문제
그러나 DocType Switching은 불완전한 솔루션입니다. 웹 문서에서 DocType 선언을 사용하더라도 브라우저는 웹 페이지를 표시하려는 렌더링 모드를 사용하지 않을 수 있습니다. XHTML 웹 페이지를 포함하는 <? XML 버전 = 1.0 인코딩 = UTF-8?>의 <? XML 버전 = 1.0 인코딩 = UTF-8?>의 다른 시작을 포함하여 여러 가지 이유가 있습니다. 그러나 즉, 오페라 및 오래된 버전의 Safari는 모두 문서의 첫 번째 줄이 DocType 선언이되기를 원합니다. 따라서 이전에 다른 것이 있다면 (XML Prolog 포함), DocType은 인식되지 않습니다. 따라서 XML Prolog의 존재는 IE, Opera 및 Safari를 Quirks 모드로 가져올 것입니다. XML Prolog는 필요하지 않으므로 XHTML 웹 페이지에서 안전하게 생략 할 수 있습니다. 참고 : XML 프롤로그에서 누락 된 인코딩 속성을 보충하려면 HTTP-equiv Meta 태그에 숯 속성을 포함시켜야합니다.
누락 된 URL 또는 상대 URL :
전체 DocType 선언에는 해당 문서 유형 정의 (DTD) 파일의 URL이 포함되어 있습니다. URL이 손실되거나 지정된 경우 (완전히 자격을 갖춘 인터넷 주소가 아닌) 상대 경로가 지정된 경우, 대부분의 브라우저는 DocType 선언에 의해 지정된 모드에 관계없이 Quirks 모드로 들어갑니다.
잘못된 형식의 문서 :
브라우저는 DocType 선언의 형식과 형식에 매우 민감하며, DocType 잘못된 양식을 인식 할 수없는 경우 Quirks 모드로 강제됩니다 (이러한 이유로, 알려진 올바른 DocType를 문서에 직접 입력하는 대신 복사하고 붙여 넣는 것이 좋습니다). DocType 양식의 일반적인 이유는 DocType의 첫 부분과 URL 사이에 공간이 누락 되었기 때문입니다. 두 줄로 나뉘어 진 DocType을 단일 줄로 붕괴 시키면 그 공간이 종종 손실됩니다.
전환 기간 DocType :
브라우저가 전환 기간을 처리하면 일관되지 않은 문제가 발생할 가능성이 높습니다. IE 및 Opera 사용 표준 모드; Safari 사용 모드의 Netscape 6 이상의 버전; Netscape 7, Mozilla 1 및 최신 버전의 Safari는 Netscape의 거의 표준 모드를 사용합니다.
알 수없는 doctype :
브라우저가 인식 할 수없는 DocTypes를 처리 할 때 불일치가 있습니다. IE와 Opera는 표준 모드로 들어갑니다. 다시 말해, 인식되지 않은 DocType은 브라우저에 통합되지 않은 새로운 표준이라고 가정합니다. 반대로, Netscape 6은 인식되지 않은 Doctypes를 만나면 Quirks 모드로 전환됩니다.
DocType Switching은 다양한 브라우저에서 불일치를 발견하고 다양한 문제를 적극적으로 피할 수있는 경우 브라우저가 올바른 렌더링 모드에 들어가서 웹 페이지를 올바르게 표시하는 효과적인 수단 일 수 있습니다.
2. 올바른 DocType 선언을 사용하십시오우리는 페이지를 만들 때 이것을 무시할 수 있습니다 (저를 포함하여, 나는 보통 브라우저 기본값을 쓰고 사용하지 않는 것이 게으르다). 웹 페이지 인코딩의 표준화를위한 현재 열풍이 도착하면 모든 사람 이이 세부 사항을 이해해야합니다. 말이 진행됨에 따라 규칙이없는 질서는 없습니다.
대부분의 웹 문서에는 맨 위에 DocType 선언이 있지만 많은 사람들이 관심을 기울이지 않습니다. 새 문서를 만들 때 웹 제작 소프트웨어에 의해 칙칙한 많은 세부 사항 중 하나입니다. DocType은 많은 사람들이 간과하지만 표준을 따르는 웹 문서에서 필요한 요소입니다. DocType은 코드 확인에 영향을 미치고 브라우저가 궁극적으로 웹 문서를 표시하는 방법을 결정합니다.
DocType의 역할
DocType 문은 독자가 문서의 태그를 해석하기 위해 어떤 규칙 세트를 사용해야하는지 지적합니다. 웹 문서의 경우 읽기 프로그램은 일반적으로 브라우저 또는 검증 장치와 같은 프로그램이며 규칙은 W3C에서 게시 한 문서 유형 정의 (DTD)에 포함 된 규칙입니다.
각 DTD에는 웹 문서의 내용을 표시하는 데 사용되는 일련의 태그, 속성 및 속성이 포함됩니다. 또한 다른 태그가 나타날 수있는 태그를 지정하는 규칙도 포함됩니다. 각 웹에서 강조된 표준 (예 : HTML 4 프레임 세트 및 XHTML 1.0 전환)에는 자체 DTD가 있습니다. 문서의 태그가 DocType 선언으로 지정된 DTD를 따르지 않으면 코드 확인을 전달하지 않고 브라우저에 문서가 올바르게 표시되지 않을 수 있습니다. 브라우저는 일관되지 않은 마크 업 문제에 대한 검증 장치보다 더 허용됩니다. 그러나 잘못된 DocType 선언으로 인해 웹 페이지가 잘못 표시되거나 전혀 표시되지 않도록합니다.
올바른 DocType를 선택하십시오
올바른 DocType 선언을 얻으려면 핵심은 DTD가 문서가 따르는 표준에 해당하도록하는 것입니다. 예를 들어, 문서가 XHTML 1.0 엄격한 표준을 따른다고 가정하면 문서의 문서 선언은 해당 DTD를 참조해야합니다. 반면 DocType 선언이 XHTML DTD를 지정하는 경우에는 부적절하지만 문서에는 구식 HTML 태그가 포함되어 있습니다. 마찬가지로 DocType 선언이 HTML DTD를 지정하는 경우에도 부적절하지만 문서에는 XHTML 1.0 엄격한 태그가 포함되어 있습니다.
때로는 DocType 선언을 전혀 사용할 수 없습니다. 유효한 DocType 선언이 지정되지 않은 경우 대부분의 브라우저는 내장 기본 DTD를 사용합니다. 이 경우 브라우저는 내장 DTD를 사용하여 지정된 태그를 표시하려고합니다. 일시적이고 성급한 문서의 경우 (그 중 많은 사람들이 있음) 실제로 DocType 선언을 생략하고 브라우저의 기본 디스플레이를 수락하는 것을 고려할 수 있습니다.
DocType 선언을 처음부터 작성하고 선택한 DTD를 지적하게하는 것이 전적으로 가능합니다. 그러나 대부분의 웹 문서는 W3C에서 게시 한 국제적으로 인정 된 웹 표준을 따라야하므로 이러한 문서에는 일반적으로 다음 표준 DocType 선언 중 하나가 포함됩니다.
Html 2 : <! doctype html public- // ietf // dtd html 2.0 // en>
html 3.2 : <! doctype html public- // w3c // dtd html 3.2 Final // en>
html 4.01 strict : <! doctype html public- // w3c // dtml 4.01 // en http://www.w3.org/tr/html4/strict.dtd>
html 4.01 전환 : <! doctype html public- // w3c // dtd html 4.01 Transitional // en http://www.w3.org/tr/html4/loose.dtd>
html 4.01 프레임 세트 : <! doctype html public- // w3c // dtml 4.01 프레임 세트 // en http://www.w3.org/tr/html4/frameset.dtd>
xhtml 1.0 엄격한 : <! doctype html public- // w3c // dtd xhtml 1.0 strict // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-Strict.dtd>
XHTML 1.0 과도기 : <! doctype html public- // w3c // dtd xhtml 1.0 Transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>
XHTML 1.0 프레임 세트 : <! doctype html public- // w3c // dtd xhtml 1.0 프레임 세트 // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
xhtml 1.1 : <! doctype html public- // w3c // dtd xhtml 1.1 // en http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd>
XHTML 1.1 PLUS MATHML PLUES SVG : <! DOCTYPE HTML public- // w3c // dtd XHTML 1.1 Plus Mathml 2.0 Plus SVG 1.1 // en http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-math-s-mat-s-mat-s-svg-svg.
위에 나열된 DocType 선언 외에도 특별 요구 사항이있는 일부 문서는 다른 여러 선언을 사용합니다.
DocType 선언은 일반적으로 <html> 태그 및 기타 문서 내용 이전의 문서의 첫 번째 줄입니다. XHTML 문서에서 XML 프로세싱 명령 (XML Prolog이라고도 함)이 DocType 앞에서 때때로 나타납니다. <? XML 버전 = 1.0 인코딩 = UTF-8?>
웹 페이지가 올바르게 표시되고 검증을 원활하게 전달하려면 올바른 문서를 사용하는 것이 중요합니다. 반대, 부정확하거나 부정확 한 형태 인 DocTypes는 많은 문제의 범인입니다.
DW로 웹 페이지를 디자인 할 때 새 파일을 만들고 코드 앞면에 항상 아래에 무언가가 있음을 확인하십시오.
<! doctype html public- // w3c // dtd html 4.01 전환 // en http://www.w.w3.org/tr/html4/loose.dtd> 이것은 삭제할 수있는 DTD 정보를 자동으로 추가하는 DW입니다. 삭제 후 브라우저는 기본 DTD를 사용합니다.
3. 선택해야 할 일의 종류
표준을 충족하는 사이트를 만들기 시작하면 가장 먼저하는 일은 필요에 맞는 문학을 선언하는 것입니다.
이 페이지의 원래 코드를 확인하면 첫 번째 줄은 다음과 같은 것을 알 수 있습니다.
유명한 웹 디자인 소프트웨어 개발자 Macromedia 및 Design Master Zeldman의 개인 웹 사이트와 같은 표준을 충족하는 일부 사이트를 열면 동일한 코드가 있습니다. 표준을 충족하는 다른 사이트 (예 : K10k.net)의 코드는 다음과 같습니다.
<! doctype html public- // w3c // dtd xhtml 1.0 프레임 세트 // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>! http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd> br>. 전체 코드는 다음과 같습니다.
<! doctype html public- // w3c // dtd xhtml 1.0 과도기 // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-Strict.dtd>! http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
우리는 어떤 종류의 doctype를 선택해야합니다
이상적인 상황은 물론 엄격한 DTD이지만 웹 표준을 처음 접하는 미국의 대부분의 디자이너에게는 Transition DTD (XHTML 1.0 Transitional)가 현재 이상적인 선택입니다 (이 사이트는 전환 DTD를 사용하는이 사이트 포함)입니다. 이 DTD를 사용하면 프레젠테이션 계층의 신원, 요소 및 속성을 사용할 수 있으므로 W3C 코드 확인을 더 쉽게 통과 할 수 있습니다. 참고 : 위에서 언급 한 프레젠테이션 레이어의 로고 및 속성은 조판, 배경 색 표시 등과 같은 성능을 제어하는 데 순전히 사용되는 태그를 나타냅니다. XHTML에서 ID는 표현식을 구현하지 않고 구조를 나타내는 데 사용됩니다. 우리의 전환은 궁극적으로 데이터와 표현을 분리하는 것입니다.
예를 들어, 누드 모델은 옷이 바뀝니다. 모델은 데이터와 같으며 옷은 형태로 나타나고 모델과 옷이 분리되어 마음대로 옷을 갈아 입을 수 있습니다. HTML4에서는 데이터와 성능이 함께 혼합되어 있으며, 한 번에 식 양식을 변경하기가 매우 어렵습니다. 하하, 그것은 약간 추상적이며, 신청 과정 에서이 개념을 점차적으로 이해해야합니다.
다시 채우다
DocType 선언은 모든 XHTML 문서의 맨 위에 배치되어야합니다.
4. 이것은 공무원이 doctype html public을 정의하는 방법입니다.! doctype
-----------------------------------------------------------------------------------------
HTML 문서가 다음과 같은 문서 유형 정의 (DTD)를 지정합니다.
Microsoft를 처음 접했습니까? Internet Explorer 6.이 명령문을 사용하여 인터넷 익스플로러 6 이상을 표준 호환 모드로 전환 할 수 있습니다.
문법
HTML 최상위 요소 가용성 등록 // 조직 // type tags // 정의 언어 URL
가능한 값
최상위 요소 : DTD에서 선언 된 최상위 요소 유형을 지정합니다. 이것은 선언 된 SGML 문서 유형에 해당합니다. HTML 기본값. HTML.
가용성 : 공식 공개 식별자 (FPI)가 공개적으로 액세스 가능한 객체 또는 시스템 리소스인지 여부를 지정합니다. 공개 기본값. 공개적으로 접근 가능한 객체. 로컬 파일 또는 URL과 같은 시스템 시스템 리소스.
등록 : 조직이 국제 표준화기구 (ISO)에 의해 등록되었는지 여부를 지정합니다. + 기본값. 조직 이름 등록. - 조직 이름이 등록되지 않았습니다. 인터넷 엔지니어링 태스크 포스 (IETF)와 월드 와이드 웹 협회 (W3C)는 등록 된 ISO 조직이 아닙니다.
조직 :! doctype 선언, 즉 소유자에 의해 언급 된 DTD의 생성 및 유지 보수를 나타내는 그룹 또는 조직의 이름을 지정합니다. IETF IETF. W3C W3C.
유형 : 공개 텍스트 클래스, 즉 참조 된 객체 유형을 지정합니다. DTD 기본값. DTD.
태그 : 공개 텍스트 설명, 즉 인용 된 공개 텍스트의 고유 한 설명 이름을 지정합니다. 버전 번호는 나중에 포함될 수 있습니다. HTML 기본값. HTML.
정의 : 문서 유형 정의를 지정합니다. 프레임 세트 프레임 세트 문서. 스타일 시트는 이미 완벽하기 때문에 W3C 전문가가 단계적으로 폐지하려는 모든 대표 속성과 요소를 엄격하게 제외합니다. 과도기에는 프레임 세트 요소를 제외한 모든 내용이 포함됩니다.
언어 : 공개 텍스트 언어, 즉 참조 된 객체를 만드는 데 사용되는 자연어 인코딩 시스템을 지정합니다. 언어 정의는 ISO 639 언어 코드 (Capital Two Letters)로 작성되었습니다. 기본값. 영어.
URL : 참조 된 객체의 위치를 지정합니다.
의견
이 선언은 HTML 태그 전에 문서의 시작 부분에 나타납니다.
! doctype 요소는 태그를 닫을 필요가 없습니다.
이 요소는 Microsoft 용 HTML에서 사용할 수 있습니까? 인터넷 익스플로러 3.0.
이 선언을 사용하여 Internet Explorer 6 이상에서 엄격한 표준 호환성 모드로 전환 할 수 있습니다. 이 스위치를 켜려면 문서 상단에! DocType 선언을 포함하고 선언에 법적 태그를 지정하고 경우에 따라 정의 및/또는 URL도 필요합니다.
참고 표준 호환성 모드에서는 다른 버전의 인터넷 익스플로러와의 호환성을 보장 할 수 없습니다. 표준 호환성 모드가 켜지면 문서의 렌더링 동작은 미래 버전의 Internet Explorer와 다를 수 있습니다. 콘텐츠가 원래 고정 된 경우 (예 : CD에서 연소)이 모드를 사용해서는 안됩니다.
예
다음 예제는 사용 방법을 보여줍니다! DocType Declarations 문서가 준수하고 인터넷 익스플로러 6 이상을 표준 호환 모드로 전환하는 DTD를 지정합니다. 다음 예제의 선언은 HTML 4.0 DTD 준수를 지정합니다. 두 번째 선언은 엄격합니다. 첫 번째 선언은 지정되지 않았습니다. 두 진술 모두 Internet Explorer 6 이상을 표준 호환성 모드로 전환합니다.
<! doctype html public- // w3c // dtd html 4.0 // en>
<! doctype html public- // w3c // dtd html 4.0 strict // en>
다음 예제의 선언은 TransitionAlhtml 4.0을 준수하는 DTD 준수를 지정합니다. 두 번째 선언은 DTD의 URL을 지정합니다. 첫 번째 선언은 지정되지 않았습니다. 두 번째 진술은 Internet Explorer 6 이상을 표준 호환 모드로 전환합니다. 첫 번째 진술은 그렇지 않습니다.
<! doctype html public- // w3c // dtd html 4.0 Transitional // en>
<! doctype html public- // w3c // dtd html 4.0 Transitional // en
http://www.w3.org/tr/html4/loose.dtd>