在开启这个话题前,先看一行代码。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
想必做web开发的朋友都很熟悉这段代码,它一般位于html页面的头部,它是指定了 浏览器在解释Html代码时所采用的渲染规范(如html各元素的显示位置及大小等)。
这个渲染规范由w3c给出,然后各浏览器根据这个渲染规范 去解释html代码,最终呈现给大家丰富多彩的页面效果。
通常w3c会给出多组Doctype规范,开发人员可自由地选取一个Doctype规范,让浏览器根据这个规范去渲染页面。但在同一个Doctype规范下,不同浏览器也会采用不同的文本模式对html页面进行渲染。
而浏览器采用的文本模式的不同,最终影响到了html页面的显示效果。
现在来说说文本模式。文本模式共有 诡异模式
(Quirks mode
,也有翻译为兼容模式、怪异模式的)、标准模式
(Standards mode
)和几乎标准模式
(Almost standards mode
)三种。
上面我们提到Doctype规范决定了浏览器将会采用哪种文本模式去渲染html页面。如果当我们不指定Doctype时,IE6、IE7会采用诡异模式渲染页面,IE8以标准模式渲染页面(IE9下没测试),ff11也是以标准模式渲染页面。当我们采用了w3c所提供的某一个Doctype规范时,可参照下面的表格以了解浏览器将会以何种文本模式渲染html页面。
通过查看上面的表格数据,w3c提供了一个不带DTD规范的Doctype,即<!Doctype html>,IE8以上的IE版本及其他主流浏览器,在这个Doctype下 均会采用标准模式对html页面进行渲染。
由于HTML5不基于 SGML,它不需要在Doctype中引用DTD规范,因此<!Doctype html>被大量使用在了html页面中,让浏览器按照它们应该的方式来运行。
如何获取当前浏览器以何种文本模式渲染的html页面呢?
可通过js获取document.compatMode的值来获取当前浏览器所采用的文本模式,该值一般有两个BackCompat(代表诡异文本模式)、CSS1Compat(代表标准文本模式)。
分享到:
相关推荐
GCF 谷歌内嵌浏览器框架, 使用此插件,用户可以通过Internet Explorer的用户界面,以Chrome内核的渲染方式浏览网页。Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得...
然后使用浏览器(推荐使用 Chrome)打开文件index.html ,将 GeoJSON 文件或选定的文本拖放到地图上,然后查看它的呈现情况。 例如,您可以选择并拖动下面的多边形定义: { " type " : " Polygon " , " ...
1.2 网页、浏览器、网站和网络服务器 1.2.1 网页和浏览器 1.2.2 不可不知的浏览器发展史 1.2.3 浏览网页 1.2.4 网站和网络服务器 1.3 了解html语言 1.3.1 关于html和html编辑器 1.3.2 创建第一个网页 1.3.3 查看网页...
您也可以将LaTeX代码呈现为HTML,但是有一个限制-在浏览器中,仅以文本模式呈现HTML,数学模式需要由JavaScript库处理。 为此,我建议使用 。 安装 要使用php-latex,您可以像安装其他任何php软件包一样使用。 ...
这些文档包含了一系列样式规则,告诉浏览器如何渲染页面的各个部分。以下是关于CSS样式文档的详细描述: 样式规则: CSS样式文档由一系列样式规则组成。每条规则由一个选择器和一组声明构成。选择器用于选择要应用...
2、snabbdom 作为 Mark Text 的渲染引擎,保证了极速渲染编辑页面,带来流畅的书写体验。 3、支持 CommonMark Spec 和 GitHub Flavored Markdown Spec 语法格式,生成的 Markdown 可以复制到任何支持 markdown ...
前端页面使用的jsp(Java服务端网页(一种建立动态网页的技术,Java Server Page)) JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多...
创建列实验室 问题陈述 网站通常会采用“基于列”的布局方案来直观地传递内容。 为这种布局编写HTML和CSS可以用许多不同的方式完成,但是遵循一些简单...通过在浏览器中打开index.html来检查我们已经渲染的内容 在css/s
创建列实验室 问题陈述 网站通常会采用“基于列”的布局方案来直观地传递内容。 为这种布局编写HTML和CSS可以用许多不同的方式完成,但是遵循一些简单的模式可以...通过在浏览器中打开index.html来检查我们已经渲染的内
使用基于文本的输入(text、textarea、e—mail、URL、number)143 使用checkbox输入144 使用radio输入145 使用select输入145 提供简单的字符串options145 利用ngOptions指令提供动态options146 select指令与空...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...
关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...
您可以对图片、嵌入的RTF字符串进行渲染并导出到RTF或HTML中。 您甚至还可以在您的应用程序中增加所见即所得的预览,提供无级缩放、缩略图及页面的并排预览。 用户可完全控制缩放和页面的方向。 ComponentOne ...