<!DOCTYPE html>的作用是什么

一、背景

从今天开始会不定时的发布一些前端的常见面试题,供大家参考。今天要发布的内容是关于html的面试题的作用是什么。接下来就一起讨论以下吧

二、概念

DOCTYPE 是html5中一种标准通用标记语言的文档类型的声明,它的目的就是为了告诉浏览器应该以什么样的文档类型定义来解析文档。不是一个html标签,二是一个指令,负责告诉浏览器页面使用哪个html版本来编写。

三、主要作用

1、启用浏览器的标准模式或者怪异模式
2、用来告诉浏览器应该使用哪种HTML版本来解析文档。这声明对于确保在不同浏览器中的正确显示和行为具有至关重要的作用。DOCTYPE 声明位于HTML 档的最顶部,是文档的第一行。
1)CSS1Compat(标准模式):浏览器按照 W3C的标准严格解析代码,的显示效果和性能表现更加符合现代web标准。例如:语雀官网的文档类型就是 CSS1Compat
2)BackCompat(怪异模式):假如文档缺少DOCTYPE 或使错误的 DOCTYPE ,浏览器就可能采这种模式,可能不会按照开发者的预期渲染。
不同的渲染模式会影响浏览器对 CSS 代码甚⾄JavaScript 脚本的解析。
正确的 DOCTYPE 声明是现代 web 开发的基础,有助于:

  • 提高页面的兼容性,确保在不同的浏览器和设备上都能正常显示。
  • 减少调试和维护的时间,避免因浏览器解析差异导致的多数常见问题。

四、深挖

首先我们来看一下这个声明的由来,mdn描述:

在很久以前的网络上,页面通常有两种版本:为网景(Netscape)的 Navigator 准备的版本,以及为微软(Microsoft)的 Internet Explorer 准备的版本。当 W3C 创立网络标准后,为了不破坏当时既有的网站,浏览器不能直接弃用这些标准。因此,浏览器采用了两种模式,用以把能符合新规范的网站和老旧网站区分开。

目前浏览器的排版引擎使用三种模式:怪异模式(Quirks mode)、接近标准模式(Almost standards mode)、以及标准模式(Standards mode)。

那么浏览器是如何去选择使用哪种模式的呢?

对 HTML 文件来说,浏览器使用文件开头的 DOCTYPE 来决定用怪异模式处理或标准模式处理。
然而目前 唯一的作用是启用标准模式。

五、总结

综上我们可以总结一下哈,那就是主要的作用就是通过声明的方式告知浏览器应该选用哪种模式进行解析html,css等代码,目前浏览器的排版引擎使用三种模式:怪异模式、接近标准模式、以及标准模式。如果不声明的话,浏览器就会默认使用怪异模式来解析,这可能和开发者的预期不符。所以,正确的 DOCTYPE 声明是现代 web 开发的基础,这有助于提高页面的兼容性,确保在不同的浏览器和设备上都能正常显示,也能减少调试和维护的时间。

六、结语

今天的面试题就分享到这里,今后还会有其他关于前端面试的面试题,想要快速找到这个专栏,可以进入我的社区,社区中的面试题专栏,会持续更新面试题,感谢大家的耐心阅读,希望这篇文章能给您带来一些启发和帮助。如果您有任何疑问或建议,请随时在评论区留言,我会尽快回复。如果您觉得这篇文章还不错,请点赞、分享给更多的朋友吧!同时,也欢迎关注我的博客,获取更多精彩内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能社区服务小程序+ssm(lw+演示+源码+运行)

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了智能社区服务小程序的开发全过程。通过分析智能社区服务小程序管理的不足,创建了一个计算机管理智能社区服务小程序的方案。文章介绍了智能社区服务…

用人话讲计算机:Python篇!(十一)相对路径与绝对路径

目录 一、计算机中的路径 (1)什么叫路径 (2)绝对路径 (3)相对路径 二、Python中的路径 (1)绝对路径 (2)相对路径 (3)总结 一、…

基于VTX356语音识别合成芯片的智能语音交互闹钟方案

一、方案概述 本方案旨在利用VTX356语音识别合成芯片强大的语音处理能力,结合蓝牙功能、APP或小程序,打造一款功能全面且智能化程度高的闹钟产品。除了基本的时钟显示和闹钟提醒功能外,还拥有正计时、倒计时、日程安排、重要日提醒以及番茄钟…

MFC图形函数学习13——在图形界面输出文字

本篇是图形函数学习的最后一篇,相关内容暂告一段落。 在图形界面输出文字,涉及文字字体、大小、颜色、背景、显示等问题,完成这些需要系列函数的支持。下面做简要介绍。 一、输出文本函数 原型:virtual BOOL te…

【CANoe示例分析】Basic UDP Multicast(CAPL)

1、工程路径 C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 16.6.2\Ethernet\Simulation\UDPBasicCAPLMulticast 在CANoe软件上也可以打开此工程:File|Sample Configurations|Ethernet - Simulation of Ethernet ECUs|Basic UDP Multicast(CAPL) 2、示例目…

【23种设计模式】工厂模式:理论剖析与Java实践

文章目录 工厂模式:理论、Java 实现与实践应用一、工厂模式概述二、简单工厂模式(一)理论介绍(二)代码实现(三)关键步骤(四)流程图 三、工厂方法模式(一&…

【动手学电机驱动】STM32-FOC(10)使用旋钮调节电机转速

STM32-FOC(1)STM32 电机控制的软件开发环境 STM32-FOC(2)STM32 导入和创建项目 STM32-FOC(3)STM32 三路互补 PWM 输出 STM32-FOC(4)IHM03 电机控制套件介绍 STM32-FOC(5&…

使用Pygame创建一个简单的消消乐游戏

消消乐游戏是一种经典的益智游戏,玩家通过交换相邻的方块来形成三个或更多相同颜色的连续方块,从而消除它们。本文将介绍如何使用Python的Pygame库来创建一个简单的消消乐游戏。 准备工作 在开始之前,请确保已安装Pygame库。可以通过以下命…

12.Java 泛型(自定义泛型类、自定义泛型接口、自定义泛型方法、泛型的继承与通配符)

一、泛型引入 1、为什么需要泛型 传统方式存在的问题 不能对加入到集合中的数据类型进行约束 遍历时,需要进行类型转换 泛型的理解与好处 编译时能检查添加元素的类型 能减少类型转换的次数 2、泛型初体验 (1)说明 这里以 Dog 类为例…

最新,Vue 性能提升 400%

最近,Vue 团队核心成员 Johnson Chu 开源一个全新的信号库:alien-signals,这是一个基于 Vue 3.4 响应式系统重写的研究型信号库,可以使 Vue 3.4 的响应式系统性能提升 400%。目前,alien-signals 是所有信号库中最快的实…

springboot mvn 打包,jar和资源文件分离打包

默认打包方式如下&#xff1a; <build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><execution…

OpenHarmony-3.HDF框架(2)

OpenHarmony HDF 平台驱动 1.平台驱动概述 系统平台驱动框架是系统驱动框架的重要组成部分&#xff0c;它基于HDF驱动框架、操作系统适配层(OSAL, operating system abstraction layer)以及驱动配置管理机制&#xff0c;为各类平台设备驱动的实现提供标准模型。 系统平台驱动(…

BT1120接口自学笔记

一、技术简介 1.1名词解释 BT.1120协议是一种广泛应用的高清数字视频传输协议,能够把取样结构为4:4:4和4:4:2的视频数据编码成内嵌同步定时基准码的视频数据流进行传输。也可以用于ITU-R BT.709建议书和ITU-R BT.2100建议书规定的像素阵列为1 920*1080视屏数据传输。 经常听…

http multipart/form-data 数据如何分块传输是一次传输还是多次

multipart/form-data 是一种用于 HTTP 协议中传输数据的格式&#xff0c;它用于传输数据量较大的数据&#xff0c;如文件等。在 multipart/form-data 中&#xff0c;数据可以被分成多个部分&#xff08;chunk&#xff09;&#xff0c;这些部分之间通过特定的分隔符进行分隔。 …

pdf转word/markdown等格式——MinerU的部署:2024最新的智能数据提取工具

一、简介 MinerU是开源、高质量的数据提取工具&#xff0c;支持多源数据、深度挖掘、自定义规则、快速提取等。含数据采集、处理、存储模块及用户界面&#xff0c;适用于学术、商业、金融、法律等多领域&#xff0c;提高数据获取效率。一站式、开源、高质量的数据提取工具&…

浔川AI翻译v5.1.0版本正式亮相!

浔川 AI 翻译 v5.1.0 版本正式亮相&#xff01; 在科技浪潮汹涌澎湃的今天&#xff0c;浔川 AI 翻译以其卓越的技术实力和对用户需求的精准把握&#xff0c;自豪地向全球用户宣布&#xff1a;浔川 AI 翻译 v5.1.0 版本正式闪耀登场&#xff01;这一全新版本在继承以往优势的基础…

【QNX+Android虚拟化方案】130 - io-pkt-v6-hc 相关问题log抓取命令整理

【QNX+Android虚拟化方案】130 - io-pkt-v6-hc 相关问题log抓取命令整理 基于原生纯净代码,自学总结 纯技术分享,不会也不敢涉项目、不泄密、不传播代码文档!!! 本文禁止转载分享 !!! 汇总链接:《【QNX+Android虚拟化方案】00 - 系列文章链接汇总》 本文链接:《【QNX…

安装更新upgrade导致ubuntu崩溃

安装更新导致ubuntu崩溃 前言uuid编不过&#xff0c;导致的崩溃 记录一些ubuntu崩溃的过程。 目前只有一个&#xff0c;以后遇到都放在这里&#xff0c;以提醒自己。 前言 如果从10000年看现在的linux&#xff0c;不是说不完美&#xff0c;而是糟透了。 linux的版本号&#xf…

探索前端世界的无限可能:玩转Excel文件

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

MySQL两阶段提交目的

阶段提交的过程 事务执行阶段&#xff1a;事务开始执行&#xff0c;InnoDB执行SQL语句的具体操作&#xff0c;如数据修改、删除等&#xff0c;并将这些操作记录在内存中。写入Redo Log&#xff08;准备阶段&#xff09;&#xff1a;事务即将提交时&#xff0c;首先将事务相关的…