总是被忽略的DOCTYPE

高洛峰
풀어 주다: 2017-02-15 13:58:19
원래의
1519명이 탐색했습니다.

名词解释

  • DTD: Document Type Definition 文档类型定义

  • SGML: Standard Generalized Markup Language 标准通用标记语言。

SGML 是一种很强大但很复杂的标记语言,HTML、XML 就是从中衍生出来的。

为什么有个“!”?

声明不是HTML标签;

的位置?

声明必须位于HTML文档的第一行,位于标签之前

的作用?

告知浏览器用什么标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。

HTML4.01与HTML5 DOCTYPE区别?

HTML5只有一种声明:
HTML4.01有三种声明:strict, transitional, frameset

HTML4.01基于SGML,需要对DTD进行引用,告知浏览器使用的文档类型。
HTML5不基于SGML,不需要对DTD进行引用,但需要用DOCTYPE规范浏览器行为。

SGML 最为强大和古老,XML 是 SGML 的一个子集,HTML 最初也试图成为 SGML 的一个子集,但 HTML 4 以前并不严格符合 SGML 的标准。后来出现了 HTML4,XHTML (符合 XML 标准的 HTML),这两者都符合 SGML 的要求。

W3C 在制定 HTML5 标准时,希望摆脱 SGML 的一些无用的功能和声明,并延续 HTML4 的风格,而非严格的 XHTML 的风格。

页面的渲染模式

页面的渲染模式根据是否声明了DOCTYPE分别触发兼容模式和标准模式。  
document.compatMode可以返回当前页面的兼容模式:

document.compatMode
> CSS1Compat  //标准模式
> BackCompat  //怪异模式、兼容模式
로그인 후 복사

标准模式页面排版和JS运行模式都是以浏览器支持的最高标准运行。
兼容模式中,页面以宽松向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。

更多总是被忽略的DOCTYPE 相关文章请关注PHP中文网!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!