很多用Dreamweaver作页面朋友也许会发现一个小问题,用DW新建html页面的时候,DW会自动在页面顶部添加http://www.w3.org/TR/html4/loose.dtd这么一句。加了这句的页面有时候一些javascript和CSS或一些页面标签会失效,删除了这句就会显示正常。曾经被这个问题困扰了一小会,查找资料得出一些答案。 这个dtd到底是什么东西呢?dtd其实就是“文档类型定义”,里面包含了文档的规则,浏览器就根据定义的dtd来解释你页面的标识,并展现出来。而这一句代码应该属于DOCTYPE声明(注:DOCTYPE是document type(文档类型)的简写)的一部分,用来说明你用的XHTML或者HTML是什么版本。DOCTYPE声明还应该包括例如的代码。一个标准的html或者xhtml都应该有DOCTYPE声明。DOCTYPE声明必须放在每一个XHTML文档最顶部,在所有代码和标识之上。xml的DOCTYPE声明和这两种文档有区别。 |
加有dtd的页面会出现部分javascript和CSS或一些页面标签会失效,这是因为你编辑的html/xhtml页面不符合这个dtd所规定的代码标准。为了使页面按照你的设计显示正确的页面效果,所以要选择符合你要求的dtd文档规则。有些不添加dtd说明的页面能正确显示,这是因为浏览器内建了一个默认的dtd申明,单独对该浏览器进行了优化,所以可以正确显示。 根据W3C规定,页面必须采取符合代码规范的dtd文档进行验证。但是很多网页编辑软件都是默认添加dtd文档,不一定符合你要编辑的文档要求,所以必须进行手动修改。 dtd文档根据你采用的html/xhtml版本的不同各有区分,其中html4.01又分 Transitional (过渡型) < DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Strict(严格型 ) < DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Frameset (框架型) < DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> xhtml1.0也又这三种区分 Transitional (过渡型) < DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Strict(严格型 ) < DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Frameset (框架型) < DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 根据不同的要求还有一些别的DTD申请文档可以选择,具体请参考W3C网站 参考网址1 参考网址2 |
烦人的DTD
最新推荐文章于 2024-07-07 23:10:31 发布