我正在从头开始制作一个网页,它需要支持尽可能广泛的浏览器市场份额。该网页将相对简单,有一些 ajax 调用将填充一些div
s.
我应该支持哪个 (X)HTML 和 CSS 版本,我应该在严格模式还是过渡模式下编码?我应该支持的最早的IE浏览器应该是哪个?我追求最大的跨浏览器兼容性和一致性。
编辑:该网页将面向商务人士。最初的问题假设他们中的大多数人仍然使用 IE 6,但似乎我错了。
我正在从头开始制作一个网页,它需要支持尽可能广泛的浏览器市场份额。该网页将相对简单,有一些 ajax 调用将填充一些div
s.
我应该支持哪个 (X)HTML 和 CSS 版本,我应该在严格模式还是过渡模式下编码?我应该支持的最早的IE浏览器应该是哪个?我追求最大的跨浏览器兼容性和一致性。
编辑:该网页将面向商务人士。最初的问题假设他们中的大多数人仍然使用 IE 6,但似乎我错了。
我强烈建议您使用 HTML5,即使您不会使用任何新的语义元素。
<!DOCTYPE html>
大多数当前的浏览器会以“标准模式”呈现使用此 DOCTYPE 声明的内容,这意味着您的应用程序应该更符合跨浏览器的兼容性。DOCTYPE 也被设计为优雅地降级;不理解它的浏览器会忽略它,并使用“怪癖模式”来显示其内容。
而且,如果您想使用几乎所有的 web 2.0 API,那么您将在使用 XHTML Strict / Transitional 时遇到麻烦。
声明<!DOCTYPE html>
,你会感觉很舒服。
CSS 版本并不重要,因为现代浏览器还不支持某些 CSS2 属性。您必须依靠此类网站来检查您认为对显示内容至关重要的每个属性的兼容性:
一般来说,你可以简单地谷歌“apropertyname browser support”来获得非常有用的信息。
请记住,网站不必在每个浏览器中看起来都完全相同,您的主要目标是使内容在“任何”条件下都可读和可用。
说到 IE,请检查自己的使用统计更新到 2012 年 8 月/9 月:
所以最多你可能会担心IE7。
您还可以为使用 IE7 及以下版本的用户创建一个“向后兼容”版本(基本上禁用 css 和 javascript),并带有条件注释。因此,您肯定会提供可读性,然后添加一个链接以切换回正常版本(风险自负)。
甚至大多数 API(例如 Vimeo、Facebook、Google Maps)以及库和插件等都不再适用于 IE7。或者至少它们会导致 JavaScript 错误。
支持IE8+,使用
<!DOCTYPE html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
并得到它。
我应该支持哪个 (X)HTML 和 CSS 版本
除非您已经在使用 XML 工具链,否则 XHTML 会比较麻烦。
HTML 4 是对 HTML 的最新推荐。
HTML 5,虽然是草稿,但有一些你可以使用的特性
我应该在严格模式还是过渡模式下编码?
如果您正在使用带有 Strict 和 Transitional 变体的 HTML 版本,请使用 Strict,除非您需要来自 Transitional 的特定功能(这不太可能,浏览器很久以前就完成了向 1996 年推荐的过渡)。
我应该支持的最早的IE浏览器应该是哪个?
取决于您的目标受众对浏览器的选择(随着时间的推移会发生变化,因此任何具体的答案都会过于本地化)和预算。
和 CSS
不要关注 CSS 版本号。担心对特定功能的支持。
我追求最大的跨浏览器兼容性和一致性。
它是网络。以“好”而不是“相同”为目标。
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>
<![endif]-->
<script type="text/javascript" src="js/html5shiv.js" ></script>
<script type="text/javascript" src="js/html5.js" ></script>
过渡最好。你可以从这个浏览器中下载 shiv.js
也请参考这个链接<meta http-equiv="X-UA-Compatible" content="IE=edge"> 做什么?