• DTD定义、混杂模式、标准模式


    一.   什么是DocType?

    DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。要想制作符合标准的页面,一个必不可少的关键组成部分就是DOCTYPE声明。只有确定了一个正确的DOCTYPE,XHTML里的标识和CSS才能正常生效。
    以XHTML 1.0为例:
    XHTML 1.0中有3种DTD(文档类型定义)声明可以选择:过渡的(Transitional)、严格的(Strict)和框架的(Frameset)。

    1.过渡型

    一种要求不很严格的DTD,允许在页面中使用HTML4.01的标识(符合xhtml语法标准)。

    View Code
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    2.严格型

    一种要求严格的DTD,不允许使用任何表现层的标识和属性,例如<br/>等。

    View Code
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    3.框架型

    一种专门针对框架页面所使用的DTD,当页面中含有框架元素时,就要采用这种DTD。

    View Code
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

    

    二.  什么是标准模式和混杂模式?

    不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScript的解释执行。

    文档模型目前有4种

     

     

    混杂模式

     //让IE的行为与(包含非标准特性的)IE5相同

    //让IE的行为更接近标准行为 超标准模式

    准标准模式

    //这种模式下的浏览器特性有很多都是符合标准的,不标准的地方主要体现在处理图片间隙的时候(在表格中使用图片时问题最明显)。

    //IE8引入的一种新的文档模式,超级文档模式可以让IE以其所有版本中最符合标准的方式来解释网页内容。

    

    1 .如何触发混杂模式

    如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式!

    2 .如何触发标准模式

    

    

    

    

    View Code

    

    3.如何触发准标准模式

    View Code
    <!-- 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//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.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 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

    4. IE8关闭超标准模式

    <meta http-equiv="X-UA-Compatible" content="IE=7" />
    //content属性中IE的值用于指定使用哪个版本的呈现引擎来呈现页面。设计这个值的目的就是为了向后兼容那些专门为老版本的IE设计的站点和页面。

    上面这段代码,各位应该在很多网站中见到,IE8的话,默认就是超标准模式,如果在<meta>标签这里定义content="IE=7"就让浏览器以IE7的模式来解析网页


  • 相关阅读:
    洛谷P6276 [USACO20OPEN]Exercise P(生成函数)
    牛顿迭代求逆元
    线性基求交
    我卷我自己加强
    AGC013 简要题解
    LOJ#6074 「2017 山东一轮集训 Day6」
    JAVA根据下载地址获取文件的Base64
    JS 作用链,箭头函数 this 取值
    Leetcode 1249 移除无效的括号
    Vue的数据绑定
  • 原文地址:https://www.cnblogs.com/sniper007/p/2217983.html
Copyright © 2020-2023  润新知