目录
 
首页 web前端 html教程 关于<!DOCTYPE html>的学习_html/css_WEB-ITnose

关于<!DOCTYPE html>的学习_html/css_WEB-ITnose

Jun 24, 2016 am 11:45 AM

 

  DOCTYPE是对Document type的缩写,说明用XHTML或者HTML是什么版本的。必须出现在标签的前面,不需要关闭标签。

  声明不是标签,它指示Web浏览器关于页面使用哪个HTML版本编写的,请始终向HTML文档添加声明,这样浏览器才能获知文档类型,最终如何显示你的Web文档。所以,要想制作符合W3C标准的页面,DOCTYPE声明是必不可少的关键组成部分。

 缺少HTML Doctype造成的样式问题

  当使用XHTML标准开发的网页,第一行就是:

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
登录后复制

  这是xhtml的W3C标准。

  DOCTYPE指定了HTML文档遵循的文档类型定义(DTD),声明的写法遵循一定的规则,指出阅读程序用什么规则集解释文档中的标记。

规则样式:

  语法:

      HTML   顶级元素  可用性  “注册//组织//类型//标签//定义// 语言” "URL"

  可能值:

  • 顶级元素:指定的DTD中声明的顶级元素类型,这与声明的SGML文档类型相对应。默认是:HTML
  • 可用性: 指定正式公开标示符(FPI)是可访问的对象还是系统资源。默认是:PUBLIC,可公开访问的对象。SYSTEM 系统资源,如本地文件或 URL。
  • 注册: 指定组织是否是国际化标准组织(ISO)。 + 默认。组织名称已注册。
  • 组织名称未注册:IETF和W3C不是注册的ISO组织。
  • 组织: 指定表明负责由!DOCTYPE声明引用的DTD的创建和维护的团队或组织名称。
  • 类型: 指定公开文本类,即所引用的对象类型。默认:DTD。
  • 标签: 指定公开文本描述,对所引用的公开文本唯一描述性名称。可附带版本号。默认:HTML
  • 定义: 指定文档类型定义。Frameset框架集文档。Strict排除所有W3C专家希望逐步淘汰的代表性属性和元素。Transition包含排除Frameset元素的全部内容。
  • 语言:指定公开文本语言,即创建所引用对象的自然语言编码系统。默认:EN.
  • URL: 指定所引用对象的位置。
  • (转自:http://www.cnblogs.com/tomatoxml/p/3585741.html)

      DTD(例子中的:xhtml1-transitional.dtd)即文档类型定义,包含文档的规划,浏览器根据定义的DTD来解释页面的标示,然后展现出来。

      xhtml1.0提供三种DTD声明可供选择:

  • Transitional: 包含所有HTML元素和属性,包含展示性和弃用的元素,不允许使用框架集(Framesets),必须以正确的格式来编写XML。
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    登录后复制

  • Strict: 包含所有HTML元素和属性,但是不包含展示性和弃用的元素(比如:font),不允许使用框架集(Framesets),必须以正确的格式来编写XML。
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd">
    登录后复制

  • Frameset: 等同于XHTML 1.0 Transitional, 但是允许包含框架集内容。
  • <!DOCTYPE html PUBLIC "-//W3C//DTD//XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    登录后复制

      相比xhtml的三种DTD声明和HTML 4.01的三种声明,HTML5 中只有一种声明:

    <!DOCTYPE html>
    登录后复制

      HTML4.01中,声明引用DTD,因为HTML4.01是基于SGML,DTD规定了标记语言的规划,这样浏览器才能正确显示内容,HTML5不是基于SGML的,所以不需要引用DTD。

    解释下关于XHTML1.0,HTML 4.0和HMTL5:

      XHTML 1.0 是对HTML 4.0按照XML标准要求的改造,是XML风格化的HTML4.01,而HTML5是下一代HTML,用来取代HTML 4.01。W3C 原本确实计划用 XHTML 系列替代 HTML 4.01,但 XHTML 系列实际上只活到了 1.1(1.1 和夭折的 1.2 已经体现出过分 XML 的迹象,而 W3C 的理想其实在疯狂的 XHTML 2 身上,当然,它没能诞生),还没脱离 HTML 4.01 的阴影就死了。还没等 XHTML 兴起,它的地位就被 HTML5 取代了。(摘自http://www.zhihu.com/question/20258628)

      在DOCTYPE声明后面的是一个XHTML的命名空间(namespace):

    <html xmlns="http://www.w3.org/1999/xhtml">
    登录后复制

      当需要使用符合XML规范的XHTML文档,则应该在标签中使用xmlns属性。

     

    检查工具:需要检查自己的页面是否符合在DOCTYPE中声明的标准,可以使用W3C提供的验证工具:http://validator.w3.org/

     

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    2 周前 By 尊渡假赌尊渡假赌尊渡假赌
    仓库:如何复兴队友
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island冒险:如何获得巨型种子
    3 周前 By 尊渡假赌尊渡假赌尊渡假赌

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? 公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? Mar 04, 2025 pm 12:32 PM

    公众号网页更新缓存,这玩意儿,说简单也简单,说复杂也够你喝一壶的。你辛辛苦苦更新了公众号文章,结果用户打开还是老版本,这滋味,谁受得了?这篇文章,咱就来扒一扒这背后的弯弯绕绕,以及如何优雅地解决这个问题。读完之后,你就能轻松应对各种缓存难题,让你的用户始终体验到最新鲜的内容。先说点基础的。网页缓存,说白了就是浏览器或者服务器为了提高访问速度,把一些静态资源(比如图片、CSS、JS)或者页面内容存储起来。下次访问时,直接从缓存里取,不用再重新下载,速度自然快。但这玩意儿,也是个双刃剑。新版本上线,

    如何使用HTML5表单验证属性来验证用户输入? 如何使用HTML5表单验证属性来验证用户输入? Mar 17, 2025 pm 12:27 PM

    本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

    如何高效地在网页中为PNG图片添加描边效果? 如何高效地在网页中为PNG图片添加描边效果? Mar 04, 2025 pm 02:39 PM

    本文展示了使用CSS为网页中添加有效的PNG边框。 它认为,与JavaScript或库相比,CSS提供了出色的性能,详细介绍了如何调整边界宽度,样式和颜色以获得微妙或突出的效果

    HTML5中跨浏览器兼容性的最佳实践是什么? HTML5中跨浏览器兼容性的最佳实践是什么? Mar 17, 2025 pm 12:20 PM

    文章讨论了确保HTML5跨浏览器兼容性的最佳实践,重点是特征检测,进行性增强和测试方法。

    &lt; datalist&gt;的目的是什么。 元素? &lt; datalist&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

    本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

    &gt; gt;的目的是什么 元素? &gt; gt;的目的是什么 元素? Mar 21, 2025 pm 12:34 PM

    本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

    我如何使用html5&lt; time&gt; 元素以语义表示日期和时间? 我如何使用html5&lt; time&gt; 元素以语义表示日期和时间? Mar 12, 2025 pm 04:05 PM

    本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

    &lt; meter&gt;的目的是什么。 元素? &lt; meter&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

    本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

    See all articles