HTML4.01中规范
首先咱们先肯定一件事儿,咱们如今学习的是HTML4.0.1这个版本,这个版本是IE6开始兼容的。HTML5是IE9开开始兼容的。可是IE六、七、8这些浏览器还不能过早的淘汰,因此这几年网页仍是应该用HTML4.01来制做。现在,手机、移动端的网页,就可使用HTML5了,由于其兼容性更高。css
说个题外话,html1 至 html3 是美国军方以及高等研究所用的,并未对外公开。html
HTML4.01里面有两大种规范,每大种规范里面又各有3种小规范。因此一共6种规范(见下面):浏览器
HTML4.01里面规定了普通和XHTML两大种规范。框架
HTML以为本身有一些规定不严谨,好比,标签是否能够用大写字母呢?
<H1></H1>
ide
因此,HTML就以为,把一些规范严格的标准,又制定了一个XHTML1.0。在XHTML中的字母X,表示“严格的”。post

总结一下,HTML4.01一共有6种DTD,说白了,HTML第一行语句一共有6种:学习
下面对上图中的三种小规范进行解释:this
-
strict:表示“严格的”,这种模式里面的要求更为严格。这种严格体如今哪里?有一些标签不能使用。
好比,u标签,就是给一个本文加下划线,可是这和HTML的本质有冲突,由于HTML只能负责语义,不能负责样式,而u这个下划线是样式。因此,在strict中是不能使用u标签的。
那怎么给文本增长下划线呢?从此的css将使用css属性来解决。
那么,XHTML1.0更为严格,由于这个体系自己规定好比标签必须是小写字母、必须严格闭合标签、必须使用引号引发属性等等。spa -
Transitional:表示“普通的”,这种模式就是没有一些别的规范。code
-
Frameset:表示“框架”,在框架的页面使用。
在sublime输入的html:xt,x表示XHTML,t表示transitional。
HTML5中的规范
极大的简化了DTD,也就是说HTML5中就没有XHTML了(W3C本身打脸了):
<!DOCTYPE html>
常见声明格式
HTML 5
<!DOCTYPE html>
HTML 4.01 Strict
该 DTD 包含全部 HTML 元素和属性,但不包括展现性的和弃用的元素(好比 font)。不容许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
该 DTD 包含全部 HTML 元素和属性,包括展现性的和弃用的元素(好比 font)。不容许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,且容许框架集内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">