<!DOCTYPE>在html中的使用

什么是 <!DOCTYPE>

<!DOCTYPE>是一个用来告诉web浏览器当前页面使用了哪个版本的html的声明,它需要位于文档的最开始的位置,也就是位于<html>标签之前。

当声明了正确的doctype以后:
1.浏览器可以决定使用哪一种渲染模式去展示页面
2.Markup validators可以决定使用哪些规则来验证当前文档
以上这两点都将影响html页面在不同浏览器中的正常显示。

“浏览器本身分为两种模式,一种是标准模式(Standards mode),一种是怪异模式(Quirks mode),浏览器通过doctype来区分这两种模式,doctype在html中的作用就是触发浏览器的标准模式,如果html中省略了doctype,浏览器就会进入到Quirks模式的怪异状态,在这种模式下,有些样式会和标准模式存在差异,而html标准和dom标准值规定了标准模式下的行为,没有对怪异模式做出规定,因此不同浏览器在怪异模式下的处理也是不同的,所以一定要在html开头使用doctype。”——知乎

如何使用<!DOCTYPE>

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

HTML5 不是基于 SGML,因此不要求引用 DTD。

HTML5中只定义了一种声明:
<!DOCTYPE html>
在这里插入图片描述

HTML 4.01 规定了三种不同的 <!DOCTYPE> 声明,分别是:Strict、Transitional 和 Frameset。
Strict模式:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
Transitional模式:<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
Frameset模式:<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>
在html4.01的声明中最重要的两部分分别是两对引号括起来的内容,以strict模式为例: “-//W3C//DTD HTML 4.01//EN” 代表这个DTD文档是由W3C发布的,用来描述html4.01,语言是英文;“http://www.w3.org/TR/html4/strict.dtd” 是这个声明所引用的DTD的URL。

总结:

只有在html文档的开头使用适当的doctype才能确保浏览器解析页面的时候启用标准模式(Standards mode),以此才能确保在不同浏览器中得到一个统一的css样式。

引用:

https://www.w3.org/wiki/Choosing_the_right_doctype_for_your_HTML_documents
https://zhuanlan.zhihu.com/p/32609899
http://www.runoob.com/tags/tag-doctype.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值