我们都知道<!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运行模式都是以浏览器支持的最高标准运行;
兼容模式:页面以宽松的向后兼容方式显示,模拟老浏览器的行为防止站点无法正常工作。