Quirks 모드에서 DOCTYPE 요소 사용

Doctype을 남겨두고 브라우저를 Quirks 모드로 전환하십시오.

몇 달 이상 웹 페이지를 디자인 해왔다면 모든 브라우저에서 똑같은 페이지를 작성하는 데 어려움을 느낄 가능성이 큽니다. 사실 그것은 불가능합니다. 많은 브라우저에는 처리 할 수있는 특수 기능이 있습니다. 또는 다른 브라우저에서 처리하는 방식과 다른 점을 처리하는 특별한 방법이 있습니다. 예 :

브라우저 개발자의 문제는 구형 브라우저 용으로 빌드 된 웹 페이지와 역 호환되는 웹 브라우저를 만들어야한다는 것입니다. 이 문제를 해결하기 위해 브라우저 제조업체는 브라우저가 작동 할 수있는 모드를 만들었습니다.이 모드는 DOCTYPE 요소의 존재 여부와 DOCTYPE 호출에 의해 정의됩니다.

DOCTYPE 스위칭 및 "Quirks 모드"

웹 페이지에 다음 DOCTYPE을 넣으면 :

최신 브라우저 (Android 1 이상, Chrome 1 이상, IE 6 이상, iOS 1 이상, Firefox 1 이상, Netscape 6 이상, Opera 6 이상, Safari 1 이상)는 다음과 같은 방식으로이를 해석합니다.

  1. 올바르게 작성된 DOCTYPE이 있기 때문에 표준 모드를 ​​트리거합니다.
  2. HTML 4.01 과도기 문서입니다.
  3. 표준 모드이기 때문에 대부분의 브라우저는 HTML 4.01 과도기 (또는 대부분 호환)로 콘텐츠를 렌더링합니다.

그리고이 DOCTYPE을 문서에 넣으면 :

이것은 최신 브라우저에게 DTD를 엄격하게 준수하여 HTML 4.01 페이지를 표시하려는 것을 나타냅니다.

이러한 브라우저는 "엄격한"또는 "표준"모드로 전환하여 표준을 준수하도록 페이지를 렌더링합니다. HTML 4.01 Strict에서는 FONT 요소가 더 이상 사용되지 않으므로이 문서의 경우 브라우저와 같은 태그는 브라우저에서 완전히 무시 될 수 있습니다.

DOCTYPE을 완전히 그대로두면 브라우저가 자동으로 "단점"모드로 전환됩니다.

아래 표는 일반적인 DOCTYPE 선언이있을 때 일반 브라우저에서 수행하는 작업을 보여줍니다.

마이크로 소프트, 더 힘들어 짐

Internet Explorer 6에는 DOCTYPE 선언보다 위에있는 항목을 모두 놓으면 쿼크 모드로 전환되는 기능이 있습니다. 따라서 DOCTYPE 선언이 엄격한 표준 모드라고하더라도이 두 예제 모두 IE 6을 버크 모드로 전환합니다.

및 XHTML 1.1 DOCTYPE :

또한 IE6을 지나치게되면 Microsoft는 IE8 및 IE9 : META 요소 전환 및 웹 사이트 블랙리스트에 추가 한 "기능"을 갖게됩니다. 사실,이 두 브라우저 버전은 이제 최대 7 개의 다른 모드를가집니다.

또한 IE 8은 사용자가 렌더링 모델을 다시 IE 7 모드로 변경할 수있는 "호환성 모드"를 도입했습니다. 따라서 DOCTYPE 및 META 요소를 사용하여 설정하려는 모드를 설정하더라도 페이지는 여전히 덜 표준을 준수하는 모드로 푸시 될 수 있습니다 .

Quirks 모드 란 무엇입니까?

Quirks 모드는 이상한 렌더링과 비 호환 브라우저 지원 및 웹 디자이너가 이러한 것들을 처리하기 위해 사용하는 해킹을 처리하는 데 도움이되도록 만들어졌습니다. 브라우저 제조업체가 가진 우려 사항은 브라우저를 완전한 사양 준수로 전환하면 웹 디자이너가 뒤처지게된다는 것입니다.

DOCTYPE 전환과 "Quirks 모드"를 설정함으로써 웹 디자이너는 브라우저에서 HTML을 렌더링하기를 원하는 방식을 선택할 수있었습니다.

Quirks 모드 효과

대부분의 브라우저가 Quirks 모드에서 사용하는 몇 가지 효과가 있습니다.

또한 "거의 표준 모드"에서 차이점이 있습니다.

DOCTYPE을 선택하는 방법

내 문서 DOCTYPE 목록에서 더 자세히 설명 하겠지만 다음은 몇 가지 일반적인 규칙입니다.

  1. 항상 표준 모드를 ​​먼저 선택하십시오. 그리고 현재 사용하고있는 표준은 HTML5입니다.
    HTML5 DOCTYPE을 사용하지 않아야하는 특별한 이유가있는 경우가 아니라면이 것을 사용해야합니다.
  2. 레거시 요소의 유효성을 검사하거나 어떤 이유로 새로운 기능을 사용하지 않으려는 경우 엄격한 HTML 4.01로 이동하십시오.
  3. 표에서 이미지를 잘라서 고치지 않으려는 경우 Transitional HTML 4.01 :
  4. Quirks 모드에서 의도적으로 페이지를 쓰지 마십시오. 항상 DOCTYPE을 사용하십시오. 이렇게하면 나중에 개발 시간을 절약 할 수 있으며 실제로 이점이 없습니다. IE6은 급속도로 인기를 잃고 있으며이 브라우저 (본질적으로 단조로운 모드로 설계된 것)를 디자인하면 자신, 독자 및 페이지를 제한하게됩니다. IE 6 또는 7 용으로 작성해야하는 경우 최신 브라우저를 단점 모드가 아닌 조건 별 주석을 사용하여 지원하십시오.

DOCTYPE을 사용해야하는 이유

이 유형의 DOCTYPE 전환이 발생하면 브라우저가 귀하의 페이지에서 기대할 수있는 것을 나타내는 DOCTYPE을 사용하여 웹 페이지에 직접 영향을 줄 수 있습니다. 또한 DOCTYPE을 사용하기 시작하면 유효한 HTML에 가까운 HTML을 작성하게됩니다 (유효성을 검사해야합니다). 또한 유효한 XHTML을 작성함으로써 브라우저 제조업체가 표준 준수 브라우저를 구축 할 것을 권장합니다.

브라우저 버전 및 쿼크 (Quirks) 모드

DOCTYPE 기계적 인조 인간
크롬
Firefox
IE 8 이상
iOS
Opera 7.5 이상
원정 여행
IE 6
IE 7
오페라 7
넷스케이프 6
없음 쿼크 모드 쿼크 모드 쿼크 모드
HTML 3.2
쿼크 모드 쿼크 모드 쿼크 모드
HTML 4.01
과도기적 표준 모드 * 표준 모드 * 표준 모드
과도기적 쿼크 모드 쿼크 모드 쿼크 모드
엄격한 표준 모드 표준 모드 * 표준 모드
엄격한 표준 모드 표준 모드 * 표준 모드
HTML5
표준 모드 표준 모드 * 쿼크 모드
*이 DOCTYPE을 사용하면 브라우저가 표준에 가깝지만 몇 가지 문제가 있습니다. 테스트해야합니다. 이를 "거의 표준 모드"라고도합니다.