DOCTYPE与怪异模式
我想,<!DOCTYPE>应该是HTML初学者接触的第一个标签吧,让我们回忆一遍其定义:声明HTML版本。
我们知道,HTML经过不断更新,现在正是HTML5如火如荼的时代。在以往的HTML版本(如HTML4.01),由于基于SGML而需要引用DTD,这导致了其声明非常复杂,这是HTML4.01的声明:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
如此冗长的声明对于新手来说十分不友好,记住它可不是轻而易举的事情。
现在,HTML5不再基于SGML,也就不需要引用DTD,所以它的声明非常简洁:
<!DOCTYPE html>
声明后,浏览器就知道了我们编写的HTML文档的版本。
如果你以为这就是<!DOCTYPE>的全部作用,那就大错特错了。
你可曾听闻“怪异模式”这个词?(
“怪异模式”听起来本身就很怪异吧……)
实际上,<!DOCTYPE>还有一个作用:避免浏览器进入怪异模式。
什么是怪异模式?在很久很久以前,那是一个浏览器刚刚兴起的时代,市面上以两种浏览器为主流:网景的Netscape Navigator浏览器和微软的IE浏览器,两者在解析网页都各有自己的一套标准,导致了同一网页在不同浏览器上显示出不同的效果。后来陆续出现了更多的浏览器,它们都有一套专属标准。像这样,每种浏览器都有不同的解析网页的标准,这就是怪异模式。
后来,为了停止这种混乱的现象,W3C发布了一套规范——标准模式诞生了。
随着网络技术的飞速发展,我们不得不考虑老网站的何去何从。某些老网站在标准模式下无法正常显示,为了更好地兼容它们,怪异模式被保留了下来。
可以说,怪异模式是历史遗留问题。
现在我们知道了浏览器解析HTML、CSS的模式有:标准模式、怪异模式,以及怪异模式到标准模式的过渡——接近标准模式。
- 标准模式下,浏览器按W3C标准执行代码。
- 怪异模式下,浏览器按自身标准执行代码。
- 接近标准模式下,少数怪异行为仍会实现。
既然<!DOCTYPE>可以避免怪异模式,那么具体该如何实施呢?
答案是:正确声明<!DOCTYPE>,且<!DOCTYPE>位于文档首行(<!DOCTYPE>之前不可以有代码)。
正确示范
<!DOCTYPE html>
<html>
<head>
...
错误示范
<!--注释-->
<!DOCTYPE html>
<html>
<head>
...
不声明或声明不位于文档首行都会导致浏览器进入怪异模式。
最后,让我们了解一下怪异模式与标准模式的一些差异吧。
- 盒模型差异:标准模式与怪异模式的盒模型不同。
- 行内元素差异:标准模式下,行内元素设置width与height无效;怪异模式下,行内元素设置width与height有效。
- 水平居中差异:标准模式下,块级元素水平居中设置
margin:auto
有效,设置text-align:center
无效;怪异模式下,块级元素水平居中设置text-align:center
有效。
怪异模式与标准模式还有许多细微的差异,此处就不再赘述。
关于<!DOCTYPE>与怪异模式的故事就此结束了,我们下次再见。
DOCTYPE与怪异模式相关推荐
- html标签--!DOCTYPE (怪异模式和DTD)
DTD:Document Type Definition 为了保证向后兼容,浏览器厂商发明了标准模式和怪异模式这两种方法来解析网页. 如果不显示声明FF会按照标准模式来解析网页,而IE6-8就会触发怪 ...
- 此页面处于怪异模式,排版布局可能会受到影响。若需要标准模式,请使用“!DOCTYPE html”。
一.报错 二.原因 一.报错 此页面处于怪异模式,排版布局可能会受到影响.若需要标准模式,请使用"!DOCTYPE html".详细了解 导致:页面打开是空的,什么内容也没有~ 二 ...
- Doctype作用? 严格模式与混杂模式如何区分?它们有何意义
前端面试题(3) 打卡: 2021-4-27 HTML Doctype 作用? 严格模式与混杂模式如何区分?它们有何 意义? Doctype作用 (1)位于文档最前面,处于标签之前.告诉浏览器用什么文 ...
- IE6/7和IE8/9(怪异模式)浮动元素折行Bug
网页设计中,我们经常需要设置一个元素向左或向右浮动.如 <!DOCTYPE HTML> <html> <head><title>IE6/7和IE8/9( ...
- “约见”面试官系列之常见面试题之第五十二篇之标准模式和怪异模式(建议收藏)
在标准模式页面按照HTML,CSS的定义渲染,而在怪异模式就是浏览器为了兼容很早之前针对旧版本浏览器设计,并未严格遵循W3C标准而产生的一种页面渲染模式.浏览器基于页面中文件类型描述的存在以决定采用哪 ...
- 浏览器标准模式和怪异模式
什么是标准模式和怪异模式? 在实现html和css标准化之前,各个浏览器对html和css的解析各有不同,甚至是同一个浏览器的不同版本渲染方式也不同(比如IE6和IE7).在W3C制定标准之后,浏览器 ...
- 标准模式和怪异模式指的是什么?
标准模式(也称为"严格模式")是浏览器按照HTML和CSS规范的标准方式解析和呈现网页的模式.在标准模式下,浏览器会更严格地遵守标准,确保网页在不同浏览器中的显示效果更为一致. 怪 ...
- HTML的标准模式与怪异模式
HTML的标准模式与怪异模式 HTML 的结构 在HTML4中 DOCTYPE有三种模式 标准模式与怪异模式 HTML 的结构 <html><head><meta cha ...
- 严格模式、混杂模式与怪异模式
Doctype作用?严格模式.混杂模式和怪异模式如何区分?它们有何意义? 1.doctype的作用: 声明位于文档 的最前面,告知浏览器的解析器,用什么文档类型.规范来解析这个文档. 注意: 1).规 ...
最新文章
- Contos7 克隆实例 以及 配置网络-服务-等相关信息
- eslint vscode 自动格式化_配置VSCode编辑器适配VUE3开发
- Flutter开发之SnackBar提示组件-4(43)
- 二级联动菜单(javascript)
- linux mono apache2,使用Apache2设置ModMono
- python递归函数查询表_python---------------递归函数
- cesium广告牌_公路广告牌
- android 百度转码,移动端禁止百度自动转码的方法
- 2021年中国专业话筒市场趋势报告、技术动态创新及2027年市场预测
- UCDOS SDK FOR C/C++ 1.0 说明文件
- 后缀树总结-java版
- Scapy:查看sniff函数抓取的包
- vmware搭建多台虚拟机-桥接模式
- C++桌面图标游戏系列之二【俄罗斯方块】
- mapbox-gl开发:集成deck.gl
- 华大单片机-替代STM8S003F3的国产华大HC32F003资源对比-芯虎论坛
- 解决安装 fireworks、photoshop 时卡在输入账号、手机号处等问题
- 震旦AD系列打印机进维修模式及常规故障处理
- 山东理工大学计算机考研复试分数线,山东理工大学2021考研复试分数线
- CDR X6打了3折,再送魔镜插件,是真的么?
热门文章
- 解决Themida加壳程序在VMware虚拟机无法运行问题_HS_TMD
- Windows上本地安装MySQL数据库
- 关于wince4.2 2k 页面 nand flash 驱动的问题
- k8s部署jenkins和Pod始终为pending状态“persistentvolume-controller no persistent volumes available.....”解决办法
- 错误集:smbclient访问Windows共享文件夹报错误:protocol negotiation failed: NT_STATUS_CONNECTION_RESET
- 好程序员云计算培训分享云计算中IDS是什么?
- 程序设计思维 B - 东东学打牌
- ARM Core WFI/WFE
- 济南大学计算机专业就业前景好,计算机进入“十大热门专业”,未来缺口大,这3所大学值得报考...
- L1-054 福到了-java