Doctype标准模式和怪异模式

Doctype标准模式和怪异模式?

Doctype是一种标准通用的文档类型声明,它必须出现在文件的第一行,目的是告诉浏览器使用什么样的文档类型定义(DTD)来解析文档。
它不是HTML标签它是规定浏览器以什么方式解析代码
在HTML 4.0.1,Doctype中有三个不同的文档类型,它的声明格式为

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> //strict 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> //transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">// frameset

标准模式(严格模式 strict mode)

混杂模式(怪异模式 quirks mode)

所谓的标准模式是浏览按照W3C标准解析代码
混杂模式是以一种比较宽松的向后兼容的方式显示

浏览器的解析无论是标准模式还是怪异模式都与 Doctype声明有关,DTD声明定义了标准文档的类型,使浏览器使用相应的方式加载网页并显示,忽略DTD声明,将进入怪异模式。

标准模式和怪异模式对盒子的影响

标准模式的盒子:

  • 其中宽度:content
  • 元素宽度:content + padding2 + border 2
  • 外盒宽度: content + padding *2 + border * 2 + margin * 2

怪异模式的盒子

  • 其中宽度:content + padding * 2 + border * 2
  • 元素宽度:content
  • 外盒宽度:content + margin *2

在这里插入图片描述

解决

  1. 声明DOCTYPE为标准模式,ie6在标准模式下能够符合W3C标准
  2. 使用box-sizing属性,设置为border-box
    2.1 content-box:默认值,让元素维持W3C的标准盒模型
    2.2 border-box:让元素维持IE传统(混杂模式)的盒模型
    2.3 inherit:从父元素继承box-sizing属性的值

猜你喜欢

转载自blog.csdn.net/qq_45814762/article/details/106482872