`

怪异模式和DTD

 
阅读更多
在标准模式中,浏览器根据规范表现页面;而怪异模式通常模拟老式浏览器(比如Microsoft IE4 和Netscape Navigator4)的行为以防止老站点无法工作.这两种模式的差异较大,比较典型的就是IE对盒模型的解析:在标准模式中,网页元素的宽度是由padding/border/width三者的宽度相加决定的;而在怪异模式中,widht本身就包括了padding和border的宽度.此外,标准模式下块级元素的经典的居中方法--设定width,然后margin-right:auto,margin-left:auto; 在怪异模式下也无法正常工作.
同样的代码,为了确保向后兼容,浏览器厂商发明了标准模式和怪异模式这两种方法来解析网页.在怪异模式和标准模式下的表现很可能相差甚远.因为发明怪异模式的目的就是为了兼容老式浏览器下的代码,它的很多解析方式是不符合标准的.所以,一般情况下,我们应该避免触发怪异模式,应选用标准模式.
怪异模式是如何被触发的呢?与DTD有关.DTD全称Document Type Definition,即文档类型定义.DTD是一种保证HTML文档格式正确的有效方法,可以通过比较HTML文档和DTD文件来看文档是否符合规范,以及元素和标签使用是否正确.一个DTD文档包含元素的定义规则、元素间关系的定义规则、元素可使用的属性、可作用的实体或符号规则.
在网页中最常用的DTD类型包括4种:
(1)用于HTML4.01的严格型:strict
(2)用于HTML4.01的过渡型:Transitional
(3)用于XHTML1.0的严格型
(4)用于XHTML1.0的过渡型
按照W3C的标准,我们需要在HTML的最开始声明文件的DTD类型.如果漏写DTD声明,Firefox仍然会按照标准模式来解析网页,但在IE中(包括IE6/7/8)就会触发怪异模式.为了避免怪异模式给我们带来不必要的麻烦,我们要养成书写DTD声明的好习惯
分享到:
评论

相关推荐

    编写高质量代码-Web前端开发修炼之道.azw3

    4.1 怪异模式和DTD 4.2 如何组织CSS 4.3 推荐的base.css 4.4 模块化CSS——在CSS中引入面向对象编程思想 4.4.1 如何划分模块——单一职责 4.4.2 CSS的命名——命名空间的概念 4.4.3 挂多个class还是新建class...

    浅谈CSS编程中的怪异模式

    怪异模式盒模型 今天学习了一下css3的box-sizing属性,顺便又温习了一下css的盒模型,最后觉得有必要对盒模型做一个全面整理。 先不考虑css3的情况,盒模型一共有两种模式,一种是标准模式,另一种就是怪异模式。 当...

    quirksmode

    浏览器 Quirksmode(怪异模式)与 CSS1compat 是一种浏览器渲染模式的概念,它们之间存在着一些区别和联系。Quirksmode 也称为 Compatibility Mode,是一种非标准的渲染模式,而 CSS1compat 则是标准的渲染模式,也...

    WebRebuild北京第一届交流会之2:《浏览器兼容性问题简介》——黄昊

    主要有两种模式:标准模式(Standards mode)和怪异模式(Quirks mode)。标准模式遵循W3C的规范,而怪异模式则是为了兼容早期的浏览器行为。浏览器根据页面顶部的DOCTYPE声明来决定使用哪种模式。DOCTYPE的缺失或不正确...

    web前端浏览器兼容性问题和新知识.docx

    如果HTML文档没有正确的DTD(Document Type Declaration)声明,某些浏览器,如IE,会进入怪异模式,这可能导致页面布局严重偏离预期。因此,始终在文档开头添加DTD声明,如XHTML 1.0的`<!DOCTYPE ...

    网页 DOCTYPE html标签的作用1

    不同的DOCTYPE会导致浏览器进入不同的渲染模式,这被称为“标准模式”(Standards Mode)或“ quirks mode ”(怪异模式)。在标准模式下,浏览器会严格按照指定的规范来解析和显示页面,而在quirks mode下,浏览器...

    DOCTYPE 标签

    使用正确的DOCTYPE标签对网页的呈现一致性至关重要,因为不同的DOCTYPE会导致浏览器采用不同的渲染模式,如 quirks mode(怪异模式)或 standards mode(标准模式)。在quirks mode下,浏览器会模拟旧版浏览器的行为...

    精通CSS PART1

    - 包含过渡性DTD和URI时也会以标准模式渲染。 - 而过渡性DTD没有URI时,则会以怪异模式渲染。 - **DOCTYPE缺失或格式错误**:无论HTML还是XHTML文档,都会在怪异模式下渲染。 #### 知识点二:常见CSS语法错误 ...

    前端常考面试题HTML+CSS

    Doctype声明能够区分浏览器的两种解析模式:标准模式和怪异模式。标准模式是指浏览器按照W3C标准去解析代码,严格遵循文档类型定义(DTD)的规则。怪异模式则意味着浏览器以自己独特的方式解析代码,通常用于向后...

    浅谈浏览器兼容性模式[按F12便知]

    本文将深入探讨标准模式、准标准模式和怪异模式,并介绍如何通过DOCTYPE声明来控制浏览器的行为。 首先,DOCTYPE声明是HTML文档开头的一行代码,它告知浏览器应以哪种模式来渲染页面。在标准模式中,浏览器遵循W3C...

    为什么使用DOCTYPE HTML

    例如,IE6及其更早版本会始终处于怪异模式,而其他如Mozilla、Safari和Opera则具备两种模式。 DOCTYPE HTML的简洁形式,如`<!DOCTYPE html>`,自HTML5引入以来,已经成为推荐的标准。这个声明告诉浏览器页面遵循的...

    网页制作基础 声明文档类型描述(DTD

    不同的DOCTYPE可能导致浏览器进入不同的渲染模式,如quirks mode(怪异模式)或standards mode(标准模式)。在标准模式下,浏览器按照W3C的标准来解析和显示内容,而在quirks mode下,浏览器可能模拟早期浏览器的...

    CSS浏览器兼容性与解析问题终极归纳[整理].pdf

    在Firefox中,即使没有DTD,它仍会使用标准模式解析,但Internet Explorer(特别是旧版本如IE6)则会触发怪异模式,导致渲染方式与标准模式不同。为了避免这种情况,最佳实践是在文档顶部添加合适的DOCTYPE,如`<!...

    web_divcss经典教程.ppt

    浏览器有两种模式:标准模式和怪异模式。标准模式遵循W3C的标准,而怪异模式则兼容旧版浏览器的行为。浏览器会根据DOCTYPE是否存在及其类型来决定使用哪种模式。DOCTYPE声明有助于确保页面以标准模式呈现,例如: ``...

    IE下文本模式!DOCTYPE作用介绍

    在IE中,DOCTYPE声明会决定浏览器进入何种文本模式,即所谓的"quirks mode"(怪异模式)或"standards mode"(标准模式)。这两种模式对页面的渲染方式有显著差异。 1. **标准模式(Standards Mode)**: 在标准...

    BAT,WEB前段面试宝典

    浏览器的渲染模式分为标准模式(Standards Mode)和怪异模式(Quirks Mode),它们对盒子模型的渲染方式有所不同。标准模式遵循Web标准,而怪异模式则遵循旧版本浏览器的渲染规则。 HTML的标签上的title和alt属性...

Global site tag (gtag.js) - Google Analytics