Doctype的作用以及标准模式与兼容模式的区别

Doctype的作用:

     1.位置:<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前。
     2.作用:告知浏览器的解析器用什么文档标准解析这个文档。
                  DOCTYPE不存在或格式不正确会导致文档以兼容模式(宽松的向下兼容的方式)呈现。
     3.语法:

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

     4.举个列子:

     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> 
     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">

     其中,DTD的是W3C所发布的一个“文档类型定义”,简单的说,就是告诉浏览器你的这个HTML,是根据那个标准写的,  解析的时候用哪个标准解析。

标准模式与兼容模式各有什么区别?

A:标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。
在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。简单的说,就是尽可能的显示能显示的东西给用户看。

严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码,呈现页面

混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码,即使用一种比较宽松的向后兼容的方式来显示页面

而浏览器究竟是使用严格模式还是混杂模式呈现页面与网页中的 DTD (文件类型定义)直接相关。

对于 HTML 4.01 文档,


        包含严格 DTD 的 DOCTYPE 常常导致页面以标准模式呈现。

        包含过度 DTD 和 URI 的 DOCTYPE 也导致页面以标准模式呈现。

        但是有过度 DTD 而没有 URI 会导致页面以混杂模式呈现。

对于HTML5文档,


       HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现  了向后兼容。( HTML5 没有严格和混杂之分)


具体的说:

1.width不同
在严格模式中 :width是内容宽度 ,元素真正的宽度 = margin-left + border-left-width + padding-left + width + padding-right + border-right- width +  margin-right;
在兼容模式中 :width则是元素的实际宽度 ,内容宽度 = width - ( padding-left + padding-right + border-left-width + border-right-width)

2.兼容模式下可设置百分比的高度和行内元素的高宽
    在Standards模式下,给span等行内元素设置wdith和height都不会生效,而在兼容模式下,则会生效。
    在standards模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置高度,子元素设置一个百分比的高度是无效的。

3.用margin:0 auto设置水平居中在IE下会失效
    使用margin:0 auto在standards模式下可以使元素水平居中,但在兼容模式下却会失效(用text-align属性解决)
    body{text-align:center};#content{text-align:left}

4.兼容模式下Table中的字体属性不能继承上层的设置,white-space:pre会失效,设置图片的padding会失效

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值