天天看点

DOCTYPE 探索 【已翻译100%】(2/2)

错误的“”怎样使html无效的?

定义一个错误的doctype会使web页面无效。例如,当我们开发一个页面,如果某人将doctype定义为strict,并且还是用了废弃的元素像是“font",那么这个元素会使得页面无效,或者我们使用了标签,而且没有为这个标签定义"alt"属性,这同样会使页面无效,因为根据strict dtd,"alt"属性是标签的必选属性。

如何验证页面是否有效?

w3c 拥有一个让你可以根据定义的“”验证页面是否有效的站点.

<a href="http://validator.w3.org">http://validator.w3.org</a>

此站点可以使用三种方式验证一个页面.

url验证可以验证一个在线的页面。如果你的站点时公开可用的,那么直接提供站点里面的url就可以是页面得到验证.

文件上传验证可以验证上传的页面文件.

直接输入验证可以验证在站点提供的指定区域输入的一个页面的标记拷贝.

我们应该怎样决定定义的类型?

当定义“”时, 我们脑海中出现一个大问题关于我们应该怎样决定我们应该定义什么类型的doctype (dtd). 好吧,这很简单。

过渡期的dtd给了我们一个介于老样式html和标准4.01html之间的过渡点,因此无论什么时候我们有一个想要兼容最新浏览器的老的页面时,我们可以使用“transitional”,然而如果我们在开发新的web页面,那么必须使用strict。

如何同文档模式关联起来的(标准, 怪异 和大体标准模式) ,还有浏览器是如何决定是在标准模式,还是怪异模式下渲染一个网页的呢?

浏览器会计算出你不是真的使用了html 4.01,并回到怪异模式. 而后你回到让不同浏览器以不同方式处理页面的问题上来. 你可以预先估计结果的唯一方式就是告诉浏览器你使用的是 “html 4.01”并且实际上也遵循了标准. 由于web日益标准,再加上所有的浏览器都情愿只支持同一套标准,因此我们应该使用标准模式,它可以使用 来加以强制。

研究 doctype 时, 我恰巧朋友一个 oreilly’s head first的书, 里面有一段浏览器和head first的有趣访谈. 我在这里想在下面和大家分享这段相当有趣的访谈.

在本文中,我们了解了 和文档的模式,它们在让所有的浏览器对页面有一个一致的渲染方面非常重要. 建议我们总是指示页面使用标准文档模式并总是在页面中定义一个 来避免任何兼容性问题.

如果你能让我了解你对有关文章内容,展现和报道的意见和建议的,以帮助我提升我将来文章品质的话,我将不胜感谢.

祝学习愉快 …

引用

<a href="http://msdn.microsoft.com/library/cc288325(v=vs.85).aspx">http://msdn.microsoft.com/library/cc288325(v=vs.85).aspx</a>

<a href="http://msdn.microsoft.com/en-us/library/gg699340(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/gg699340(v=vs.85).aspx</a>

<a href="http://msdn.microsoft.com/en-us/library/gg699338(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/gg699338(v=vs.85).aspx</a>