为什么XHTML 1.0 Transitional如此受欢迎?

时间:2009-03-23 16:49:21

标签: html xhtml doctype

我的公司希望用新的基于CMS的系统和类似的设计/样式替换组中的所有网站,并在未来阶段添加电子商务功能。在合理的时间范围内,这对我来说太大了,所以我们将邀请各个机构的招标。

我目前正在定义技术要求,并且我打算要求所选系统必须具有严格的DOCTYPE,并且必须在常见浏览器中触发标准模式(或几乎标准模式),或者是那个效果[我们必须允许几乎标准模式来满足IE,显然]。

我做了一些功课 - 毕竟我不希望这个规格受到我的无知的限制 - 但是我发现'当前的意见并不会让你感到惊讶'对于什么是良好做法完全不同。

有很多人提倡HTML4.01 Strict(足够公平),很多人推荐XHTML1.0 Strict作为text / html(我也很好),有些人推荐HTML5 但仅限于HTML4.01标签(嗯......仍然不确定这是不是一个好主意,但我看到了原理),但也是一个不可忽视的数字(包括其他SO线程上的人)谁推荐XHTML1.0 Transitional。

我只是不明白这个的原因......好吧,你可能碰巧想暂时使用被弃用的东西,因此Transitional似乎很明智,但有些人推荐XHTML Transitional用于新版本。

在查看其他公司的网站以获取设计灵感之后,我注意到许多网站(如果他们有任何指定的DOCTYPE)将引用Transitional DTD。好吧,我们都知道网上有很多垃圾,所以也许我不应该得出太多结论。但是看看我们遇到的网页设计代理商,其中有很大一部分(其中绝大多数,我会说)正在使用XHTML 1.0 Transitional。

很好,所以你不一定要成为一名自称为Web Designer的专家,但过渡版布局的庞大数量让我感到奇怪......大多数网站似乎都是合理设计的(CSS布局,验证,访问等)。

所以,终于明白了(!),是不是有一些理由说这些代理商中有很大一部分人选择过渡性DOCTYPE?我错过了一些我需要考虑的新网站吗?

编辑:是的,我意识到过渡DTD的目的 - 我只是怀疑那么多有能力的网络开发人员正在坚持弃用标记。我想知道你们是否正确,答案很简单,他们是a)懒得让他们自己的网站验证,或者b)坚持使用他们喜欢的IDE的默认DTD。

对我来说,关键的再保证是(根据你到目前为止的回答)我似乎没有错过使用Transitional DTD的一些关键原因。

编辑2:关于我们的CMS项目 - 幸运的是,所有入围的代理机构似乎都在紧锣密鼓 - 严格,有效和可访问。

9 个答案:

答案 0 :(得分:13)

我会采取顽固的方法,并说过渡性的doctypes很受欢迎,因为有些人懒惰或只是不在乎。有人告诉他们应该验证他们的代码,而且过渡是最容易验证的,因为它允许弃用的标记。

我同意那些先前回答这个问题的人,并表示过渡性文件是为了过渡到严格。这是我使用它们的唯一情况。

任何新的开发都应该使用严格的doctype。严格与过渡的选择比XHTML与HTML4更重要。我强烈建议您在技术要求中要求严格。

答案 1 :(得分:9)

简而言之,XHTML Transitional允许开发人员更轻松地将旧的HTML代码库迁移到该doctype。 Transitional doctype比Strict更宽容,但是它意味着成为Strict的踏脚石。

这是一篇关于Transitional vs Strict的好文章:http://24ways.org/2005/transitional-vs-strict-markup

答案 2 :(得分:6)

MS Visual Studio的默认DOCTYPE是XHTML 1.0 Transitional。

答案 3 :(得分:5)

XHTML 1.0 Transitional比它的Strict更宽容,并且最容易过渡。

例如在Strict DTD中,您需要编写JS以在新窗口中打开链接页面...而target =“_ blank”将标记错误(例如,使用Web标准进行设计......)

严格肯定是前进的方式,但过渡是过渡的最佳选择。

答案 4 :(得分:4)

我认为很多人一方面使用XHTML 1.0 Transitional,因为它看起来很先进,最新甚至超越( XHTML是未来,老兄!),但另一方面仍然确实允许这种“讨厌的东西”,如centerfontalignbordertarget等。

答案 5 :(得分:3)

大多数网络doesn't validate,无论是过渡的还是严格的。过渡通常更容易使用,但我认为更频繁使用的一个更明确的原因是它也是Dreamweaver等编辑器的默认设置,许多CMS将其用作默认文档类型。

答案 6 :(得分:3)

大多数网络作者都没有验证他们的网页,在这种情况下,DOCTYPE之间几乎没有什么可供选择的,也没有理由从IDE默认更改。 Strict和Transitional之间浏览器唯一的实际区别是严格触发标准模式和Transitional触发gecko,presto,webkit等中的Almost Standards模式。实际需要标准模式行为的页面非常少而且肯定不会影响您在网络上看到的整体比例。

值得注意的是,HTML 5的编写没有严格/过渡的区别,主要是因为它的作者认识到XHTML和HTML4的过渡DOCTYPE被广泛滥用。

答案 7 :(得分:2)

在XHTML 1.0 Transitional中,您有<center> <font><strike>,这在严格版本中是不允许的。

原因主要是其他模板之间的可移植性。一篇很好的文章是here.

答案 8 :(得分:2)

祝你好运,如果你在CMS中使用用户输入,请确认你的页面是否有效。 XHTML Strict不喜欢像target =“_ blank”这样常见的东西(我们可以对此进行辩论,但人们仍然使用它)。此外,如果有人添加了默认的youtube embed html,它将无法验证。