在html页面中,下面这行代码究竟有何用呢?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
在一次页面重构过程中,看到静态页的第一行有这么一段代码,其后紧跟一大片空白,在删除空白的时候不小心删掉了这行代码,然后。。。。
原来显示正常的页面,瞬间凌乱了,字体样式没了,关键是放在IE浏览器下一看,布局完全错位了,,,,还以为是样式除了问题,找了半天也没找到原因,还好,原来的文件有备份,拿出了一比较,就这一行代码在做怪,然后学习了一哈,它到底是干嘛用的?
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
doctype的作用
doctype声明指出阅读程序应该用什么规则集来解释文档中的标记。在web文档的情况下,“阅读程序”通常是浏览器或者校验器这样的一个程序,“规则”则是w3c所发布的一个文档类型定义(dtd)中包含的规则。
每个dtd都包括一系列标记、attributes和properties,它们用于标记web文档的内容;此外还包括一些规则,它们规定了哪些标记能出现在其他哪些标记中。每个web建议标准(比如html 4 frameset和xhtml 1.0 transitional)都有自己的dtd。
假如文档中的标记不遵循doctype声明所指定的dtd,这个文档除了不能通过代码校验之外,还有可能无法在浏览器中正确显示。对于标记不一致的问题,浏览器相较于校验器来说更宽容。但是,不正确的doctype声明经常导致网页不正确显示,或者导致它们根本不能显示。