【问题标题】:retro-compatibility of HTML5 doctype?HTML5 doctype 的复古兼容性?
【发布时间】:2014-08-06 04:11:21
【问题描述】:

我的magento项目包括两个严格的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

过渡性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

doctype 模板。



为了协调这一点,我很想将其全部更改为 HTML5 文档类型:

<!DOCTYPE html>



这是个好主意吗?它可能产生什么后果?

例如,我的a target 属性是否仍然有效?:

   <a href="" target="_blank"></a> 

【问题讨论】:

  • 您只关心该属性是否仍然工作,还是您想知道它是否允许在 HTML5 中使用?
  • @unor 我想知道如果我切换到 html5 文档类型或者我的某些模板功能可能无法正常工作,我的模板中包含的所有内容是否都可以追溯
  • 任何不属于 html5 规范的内容都会强制浏览器进入它们的怪癖模式并且(可能)会工作。但是,如果您要切换到 html5,您应该浏览您的模板并更新它们

标签: xml html magento doctype w3c


【解决方案1】:

doctype 字符串(或缺少该字符串)对浏览器的唯一影响是在 Quirks、Standard 或 NearStandard 模式之间进行选择。 doctype 字符串中提供的其他细节实际上被忽略了。

假设 doctypes 位于文档的开头,为 text/html

1) 将第一个 (...Strict...) 文档类型更改为 HTML5 文档类型应该不会影响您可能关心的浏览器。

&lt;!DOCTYPE html&gt; 字符串被特别选择为触发浏览器中标准模式的最简单字符串,就像您的 Strict doctype 所做的那样。 (见Ian Hickson's comment on this。)

2) 将第二个 (...Transitional...) doctype 更改为 HTML5 doctype 将在呈现页面时将现代浏览器从 "Almost Standards" mode 切换到“Standards”模式。

从几乎标准到标准(“无怪癖”)模式的变化在一个定义明确(虽然难以简洁解释)的情况下影响布局。如果您的代码使用 2000 年代初期的 Web 开发技术并使用

s 布局页面,那肯定会对您产生影响。它不影响&lt;a href="" target=。您必须测试此更改以了解它是否会影响您。

来源:附录:text/html 中某些 Doctypes 的处理此处:https://hsivonen.fi/doctype/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多