说说html 的<!DOCTYPE>声明&标准模式与兼容模式

我们都知道<!DOCTYPE>声明位于文档的最前面,处于<html>标签之前。

<!DOCTYPE>声明不是html标签,它的作用:告知web浏览界面应该使用哪个html版本。

例如:

<!DOCTYPE html>  则是告诉浏览器应使用html5。

建议:总是给html文件加上<!DOCTYPE>声明,确保浏览器能预先知道文档类型。

在html 4.0.1中,<!DOCTYPE>声明需引用DTD(文档类型说明),因为html 4.0.1是基于SGML(Standard Generalized Markup Language,标准通用标记语言)。DTD指定了标记语言的规则,确保了浏览器能正确的渲染内容。

而html5不是基于SGML,不用引入DTD

下面是具体的html版本需要的<!DOCTYPE>声明:

html5:(!tab或者html:5)

<!DOCTYPE html>

html 4.0.1有 strict,transitional,frameset三种格式:

html 4.0.1 strict:(html:4s tab)

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

html 4.0.1 transitional:(html:4t tab)

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

html 4.0.1 frameset:

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

XHTML 1.0 Strict:(html:xs tab)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

XHTML 1.0 Transitional:(html:xt tab)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

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:(html:xxs)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

ps:以上括号中,均为sublime text3下的快捷键生成!

更多关于sublime text3快捷键操作点击此处!

标准模式与兼容模式区别:

当doctype申明缺失或者格式不正确时,文档会以兼容模式呈现。

标准模式:排版以及js运行模式都是以浏览器支持的最高标准运行;

兼容模式:页面以宽松的向后兼容方式显示,模拟老浏览器的行为防止站点无法正常工作。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏猿人谷

Xcode5.0使用iOS6.1SDK及模拟器

最近项目中,介于测试人员提出的问题,有些情况只在ios6的设备上才能显现,而本机的xcode已升级到最新的5.0,这可如何是好呢,在网上搜索了一番,找到如下方法...

2199
来自专栏蓝天

Linux磁盘相关命令

sfdisk -l sfdisk -s fdisk -l dmesg |grep SCSI dmesg |grep -i raid df -h c...

1103
来自专栏CloudZ的专栏

在Windows 10上使用Hyper-V创建VM

如果您运行的是Windows 10并且系统硬件支持Hyper-V,则可以创建一个独立的存储空间来部署自己的虚拟机并使用它。您可以同时创建一个或多个虚拟机并运行它...

2567
来自专栏cloudskyme

如何让spring自动扫描jar包中的类?

在applicationContext.xml配置了 1 <context:component-scan base-package="com.demo"...

8306
来自专栏DeveWork

S-shortcodes:WordPress短代码形式美化框插件下载

S-shortcodes 短代码插件是Jeff在一款国外短代码插件的基础上进行二次开发而来的,相对应原插件,去除了自认为鸡肋的一些特效,改进精简了相关代码,更为...

2406
来自专栏Laoqi's Linux运维专列

部署Java项目(Ⅱ)

2915
来自专栏DeveWork

360安全扫描之WordPress 页面异常导致本地路径泄漏 的漏洞修补

今天头脑一热到360安全检测那里去为自己的网站进行安全扫描了一番。上次扫描还是一年前,当初扫描一个网站是 94 分,那时候还不懂代码,就这么挂着,被360 公开...

2305
来自专栏实战docker

根据java代码生成UML图

这里介绍一个简单易用的eclipse插件ModelGoon,用来对已有代码生成UML图,下面以之前文章中的spring mvc工程为例如何安装和使用这个插件; ...

6376
来自专栏nummy

虚拟机通过NAT方式联网

由于我只有无线网是连接互联网的,所以这里采用共享无线网卡的方式,如果时通过有线网络,则采用共享有线网卡的方式。右击WLAN图标,点击共享标签:

1222
来自专栏企鹅号快讯

手把手教你搭建个人网站五:WordPress搬家&备份

建好基于WordPress的个人网站后,如果我们想整个搬到另一个服务器,应该怎么弄呢?为了预防不可预知情况的发生,我们又该如何备份网站信息呢? ? 备份Word...

4568

扫码关注云+社区

领取腾讯云代金券