DOCTYPE有什么作用?标准模式与混杂模式如何区分?它们有何意义?

Zoom AI 技术架构研究:联合式方法与多模态集成 通过 Zoom AI 开放平台,企业可以自定义 AI 模块 (如法律合规审查、客户反馈分析),扩展应用场景。这种开放平台策略使企业能够根据自身需求定制 AI 功能,满足特定业务需求。 阅读详情

一、DOCTYPE作用是什么?严格模式与混杂模式如何区分? 它们有何意义?

首先定义结论 :

简单来说 :

<!DOCTYPE>是为了告诉浏览器该文件的类型。
让浏览器的解析器知道应该用哪个规范来解析文档,通过DTD区分严格模式与混杂模式<!DOCTYPE>不存在或形式不正确会导致文档以怪异模式呈现,存在时就将严格按照w3c语法规范执行代码。
意义是为了在新的语法当中能够向下兼容以前的浏览器版本和语法,且支持最新的w3c语法而产生的。

复杂来说 :

<!DOCTYPE>声明叫做文件类型定义,是为了告诉浏览器该文件的类型。
让浏览器解析器知道应该用哪个规范来解析文档,浏览器解析时到底使用标准模式还是怪异模式,<!DOCTYPE>与你网页中的DTD声明直接相关,DTD声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略DTD声明,将使网页进入怪异模式。DOCTYPE 不存在或形式不正确会导致文档以怪异模式呈现。HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。
严格模式与混杂模式存在的意义与其来源密切相关,如果说只存在严格模式,那么许多旧网站必然受到影响,如果只存在混杂模式,那么会回到当时浏览器大战时的混乱,每个浏览器都有自己的解析模式。

研究

严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。
混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。

严格模式与混杂模式的语句解析不同点有哪些?

1.盒模型的高宽包含内边距padding和边框border

在W3C标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在IE5.5及以下的浏览器,IE的宽度和高度还包含了padding和border,所以能通过box-sizing: border-box来对样式切换模式来达到相应的效果。

2.可以设置行内元素的高宽

在严格模式模式下,给span等行内元素设置wdith,height,padding等都不会生效,而在混杂模式模式下,则会生效。

3.可设置百分比的高度

在严格模式模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置高度,子元素设置一个百分比的高度是无效的。

4.用margin:0 auto设置水平居中在IE下会失效

使用margin:0 auto在严格模式s模式下可以使元素水平居中,但在混杂模式模式模式下却会失效

5.混杂模式模式下设置图片的padding会失效

6.混杂模式模式下Table中的字体属性不能继承上层的设置
.
7.混杂模式模式下white-space:pre会失效

补充内容:
一、常用的具体声明:
  • 1、HTML5(一种):<!DOCTYPE html>

  • 2、HTML 4.01(三种):严格模式包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font),不允许框架集(Framesets);过渡模式包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font),不允许框架集(Framesets);框架模式等同于过渡模式,但允许框架集内容。

HTML 4.01 Strict :<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

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

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

  • 3、XHTML 1.0(四种):前三种模式同上,XHML 必须以格式正确的 XML 来编写标记。

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

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

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

XHTML 1.1 该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

二、严格模式与混杂模式的来源

当年Netscape4(网景公司早期的浏览器)和IE4(微软公司早期的浏览器)实现CSS机制时,并没有遵循W3C提出的标准。Netscape4 提供了糟糕的支持,而IE4 虽然接近标准,但依旧未能完全正确的支持标准。尽管IE 5 修复了IE4 许多的问题,但是依然延续CSS实现中的其它故障(主要是盒模型问题)。

为了保障自己的网站在各个浏览器上显示正确,网页开发者们不得不依据各个浏览器自身的规范来使用css,因此大部分网站的css实现并不符合W3C规范的标准。

然而随着标准一致性越来越重要,浏览器开发商不得不面临一个艰难的抉择:逐渐遵循W3C的标准是前进的方向。但是改变现有的 css,完全去遵循标准,会使许多旧网站或多或少受到破坏,如果浏览器突然以正确的方式解析现存的css,陈旧的网站的显示必然会受到影响。所以,所有的浏览器都需要提供两种模式:混杂模式服务于旧式规则,而严格模式服务于标准规则。
AltAlt

参考文章

吴秋彤的博客 DOCTYPE有什么作用?标准模式与混杂模式如何区分?它们有何意义?
https://www.cnblogs.com/wuqiutong/p/5986191.html

Josephlong Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
https://www.jianshu.com/p/18a24ab51166

su03t语音模块烧录识别不出问题解决方法 su03t语音sdk烧录无法识别问题 阅读详情

相关推荐

[MTK][Android P]如何去掉差分包中的preloader分区

最近碰到一个问题,在进行差分升级的时候,会因为某些原因导致preloader hash值不匹配,升级失败,所以需要在差分升级的时候不升级preloader。 解决的方法,就是在制作AB分区的差分升级包的时候,把目标zip解压出来,把ab_partitions.txt中的分区名去掉,同时把preloader.img去掉 修改如下: Project/build/tools/releasetool...

thonmin的专栏 1434

文档模式:标准模式、混杂模式

一、 背景:  由于历史的原因,不同浏览器对页面的渲染是不同的,甚至同一浏览器的不同版本也是不同的。然后这时候就出现了一个至关重要的标准规范:W3C标准。 在W3C标准出台之前,不同的浏览器在页面的渲染上没有统一的规范,这时的解析方式被称为Quirks mode(怪异模式或兼容模式); 在W3C标准出台之后,随着W3C的标准越来越重要,众多的浏览器开始依照W3C标准进行文档解析,不同浏览器对页面的渲染有了统一的标准,这时的解析方式被称为Strict mode,或Standards Mode(标准模式或严格

weixin_40268470的博客 940

ArcMap对遥感图像进行语义分割标注

使用arcmap对遥感图像进行语义分割标注

qq_41708916的博客 4046

Doctype的作用?严格模式与混杂模式的区别?

一、HTML中Doctype的作用:<!DOCTYPE>声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。<!DOCTYPE>声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。DTD(文档类型定义)是一组机器可读的规则,他们定义 XML 或 HTML 的特定版本中允许有什么,不允许有什么。在解析...

高先生的猫 868

SurfaceControlViewHost使用介绍

可以看到,主要用途:是把一个进程的View显示到另外一个进程里面。

chadm.xiang 1285

Agent本地部署教程详细步骤

在开始之前,你需要明确你要部署的Agent是什么。如果你需要部署其他Agent,请参考其官方文档调整步骤。

weixin_39673931的博客 2502

Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

1、doctype的作用 &lt;!DOCTYPE&gt;声明位于位于HTML文档中的第一行,处于 &lt;html&gt; 标签之前。告知浏览器的解析器用什么文档标准解析这个文 档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。 2、严格模式和混杂模式的如何区分?他们有什么意义? 标准模式(严格模式)的排版和JS运作模式都是以该浏览器支持的最高标准运行。 在兼容模式(...

qq_39507723的博客 3048

C#:实现统计图像主颜色的算法(附完整源码)

C#:实现统计图像主颜色的算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 520

DOCTYPE的作用是?它的混杂模式和标准模式如何区分?都有什么意义?

DOCTYPE的作用是?它的混杂模式和标准模式如何区分?都有什么意义?

Sumbo_Z的博客 535

Linux性能调优之CPU时间分布(亲和性、带宽、权重)配置

带宽权重亲和性进程级别Cgroup-v2服务级别systyemd我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ------赫尔曼·黑塞《德米安》

山河已无恙 1713

安装Openclaw[本地自动化AI助手]至windows【WSL2模式】系统 Openclaw for Windows

摘要:OpenClaw最佳兼容OpenAI系列模型,推荐使用ChatGPT API(需Auth鉴权),避免K*mi等模型导致的信用卡风险。Windows系统需满足WSL2支持条件(Win11或Win10 1903+版本)。安装需导入自签名根证书或跳过浏览器安全警告,通过离线包部署WSL发行版。使用时通过clawtoken命令获取网关认证令牌,并在浏览器完成设备配对。提供代购ChatGPT Plus账号服务(¥140/月),详细操作指南需加微信群获取文件。(150字)

qq_27246521的博客 456

DOCTYPE的详细讲解

我们在创建一个HTML文件时都会有一个<!DOCTYPE>标签,虽然他很不起眼,但是他在我们的HTML文件只能却是很重要的。今天我们就来好好分析一下它的作用!!!

zayyo的博客 2200

拼多多笔试真题-多多送快递(C++/Py/Java /Js/Go)

拼多多技术岗笔试 8月2号真题,拼多多笔试第三题【多多送快递】,提供详细思路讲解以及Java、C++、Python、Go、JavaScript多语言代码实现。拼多多笔试真题【多多送快递】多语言题解。

qq_45776114的博客 293

doctype的作用是什么?它的混杂模式和便准模式怎么区分?他们都有什么意义?

doctype的作用是什么?它的混杂模式和便准模式怎么区分?他们都有什么意义? doctype是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器要使用什么样的文档类型定义来解析文档。 可打开开发人员工具在控制台输入document.compatMode判断输入什么模式。 怪异模式:BackCompat 标准模式:CSS1Compat HTML5的doctype为什么只需要写<!DOCTYPE html>? html5不基于SGML,因此不需要对DTD进行引用,但是需要doc

lucky_kundy的博客 202

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Doctype作用?严格模式与混杂模式如何区分?它们有何意义

一、Doctype作用 声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。声明必须在 HTML 文档的第一行,但这并不是一个 HTML 标签。 二、严格模式与混杂模式 严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。 混杂模式:又称怪异模式,是指浏览器用自己的方式解析代码。 如何区分:浏览器

laok_的博客 803

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Doctype的作用?严格模式与混杂模式如何区分,它们有何意义?

Doctype的作用: 告诉浏览器该文件的类型,是HTML还是XHTML的规范来解析文档的. 严格模式: 即标准模式; 是指浏览器按照w3c标准解析代码. 如下情况为此模式: ①文档中包含严格的Doctype ②包含过渡的DTD和URL的Doctype 混杂模式: 又叫怪异模式或者是兼容模式; 是指浏览器用自己的方式解析代码. 如下情况为此模式: ①Doctype不存...

人间清醒 1145

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Doctype作用?严格模式与混杂模式如何区分?它们有何差异?

Doctype作用?严格模式与混杂模式如何区分?它们有何差异? ​ Doctype的作用 :声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。 严格模式与混杂模式如何区分?它们有何意义? ​ 严格模式 :又叫标准模式,是指浏览器按照W3C标准来解析代码...

XingErIrene的博客 284

Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

1、声明位于文档中的最前面,处于标签之前。告知浏览器的解析器,用什么文档类型规范来解析这个文档。 2、严格模式的排版和JS运作模式是以该浏览器支持的最高标准运行。 3、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。 4、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。 转载于:https://www.cnblogs.com/luckyXcc/...

weixin_30737363的博客 74

Doctype的作用和如何区分严格模式和混杂模式,有什么意义

的作用 声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。 严格模式:是浏览器按照w3c标准解析代码 混杂模式:是浏览器按照自己的标准解析代码 严格模式和混杂模式存在的意义:如果说只存在严格模式,那么许多旧网站必然受到影响,如果只存在混杂模式,那么会回到当时浏览器大战时的混乱,每个浏览器都有自己的解析模式。

qq_34260671的博客 602

DOCTYPE的作用

DOCTYPE的作用

weixin_41549971的博客 1773

Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

一、Doctype作用是什么? 声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范来解析文档。声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。 二、严格模式与混杂模式如何区分?它们有何意义? 严格模式: 又称标准模式,是指浏览器按照 W3C 标准解析代码。 混杂模式: 又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。 如...

salt_fash的博客 654

Doctype作用及严格模式与混杂模式的区分

1.Doctype作用,标准模式与兼容(怪异quirks)模式的区别 <!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。 标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。 2.HTML5 为什么只需要写 <!DOCTYPE HTML&

DOM曼珠沙华的博客 608

HTML中Doctype的作用以及浏览器的严格模式和混杂模式的区别

引:来自牛客网(https://www.nowcoder.com)的一道问题: 下面有关HTML的Doctype和严格模式与混杂模式的描述,错误的是? A.声明位于文档中的最前面,处于标签之前。告知浏览器的解析器,用什么文档类型规范来解析这个文档 B.在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示 C.DOCTYPE不存在或格式不正确会导致文档以

Summer_15的博客 2177

Doctype 作用?严格模式与混杂模式如何区分?它们有何意义?

Doctype(文档类型声明)是HTML文档的第一行声明,用于告知浏览器文档类型和渲染模式。其核心作用是触发标准模式,避免浏览器进入混杂模式(怪异模式),确保页面在不同浏览器中表现一致。HTML5推荐使用简洁的<!DOCTYPE html>声明。严格模式遵循W3C标准,与混杂模式在盒模型、元素对齐等方面存在显著差异。最佳实践要求始终使用HTML5 Doctype声明并置于文件首行,以获取最佳跨浏览器一致性和渲染性能。

weixin_45422672的博客 265

Doctype作用? 严格模式与混杂模式如何区分?它们有何意义

每日一题(3) 打卡: 2021-4-27 HTML Doctype 作用? 严格模式与混杂模式如何区分?它们有何 意义? Doctype作用 (1)位于文档最前面,处于标签之前。告诉浏览器用什么文档类型和规范(HTML或XHTML)来解析文档 阅读程序 规则集? | -----| -> 解释 文档中的标记 | | 浏览器/校验器 | -> w3c发布的文档类型定义中 包含的规则(DTD 3种) 表现层× ->(1)严格版本 HTML4.01-

小飞的博客 890

前端标准模式与混杂模式的区别

前端标准模式与混杂模式的区别 1 区分模式的意义? IE5.5引入了文档模式的概念,通过使用DOCTYPE实现模式切换,它的主要作用是告诉浏览器以哪种模式呈现,如何解析文档,也就是说两种模式主要影响CSS内容的呈现,某些情况下也会影响JavaScript的执行。 2什么是混杂模式、什么是标准模式 混杂模式是一种向后兼容的解析方式,是实现IE5.5以下版本浏览器的渲染模式。 标准模式是一种要求严格的...

qq_43693520的博客 1974
上一篇: JS 引用类型与值类型的区别?
下一篇: ES6简介概述
苟盛
博客等级 码龄7年 13粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值