jquery - 我如何使用 Modernizr 使 HTML5 模板适应 IE5、IE6 等?

标签 jquery html css modernizr

我正在为我的网站寻找 HTML5 和 CSS3 模板以及大量 jquery 插件。假设我想让我的网站适应 IE5、IE6 等。Modernizr 可能有助于实现我的目标。我的问题是,如果 IE5、IE6 等不支持每种样式,我是否需要使用不同的样式。

在那种情况下,如果我得到一个很棒的 HTML5 模板,我将努力为 IE5、IE6 等调整每种样式。

你怎么看这件事?我该怎么做才能避免写出不同的风格?或者,如果我错了,请告诉我。

提前致谢。

最佳答案

首先: HTML5 模板通常会有一个 DOCTYPE,它是 html 而不是 IE5 或 IE6 所期望的那些良好的过渡或严格类型之一,因此您将不得不解决这个问题。

现代模板可能会很好地使用最新版本的 JQuery,或者可能有其他库使用更高版本的 JQuery 中的功能,这对您不起作用,因为对这些浏览器的支持已从最新的 JQuery 中删除图书馆。

现代模板/CSS 中使用的选择器和样式很可能无法在 IE5 或 IE6 中使用,并且现代网站将使用 IE5 中不存在的许多 JavaScript 函数。

在 IE5/IE6 上最终呈现的 HTML(如果你能让网站正常工作)看起来与在现代浏览器上看起来并不一样,并且尝试专门为每个浏览器修复所有样式可能会导致你有些问题。

如果你必须这样做:

  • 从一个非常简单的几乎空白的占位符网站开始
  • 尽早检测 IE5 和 IE5 并为它们加载 IE 特定内容(JavaScript 和 CSS)

  • 如果其中之一

  • 引入尽可能好的浏览器功能所需的所有 polyfill 代码。
  • 甚至不要尝试使布局或样式像没有 IE5/6 版本一样。只有这些浏览器的用户无论如何都无法看到/运行其他版本,也没有什么可比较的。

  • 否则加载现代站点版本。

理想情况下,您希望使用路由/url 重写将请求推送到一组 IE5/IE6 页面,然后将它们映射到服务器/API 后端。

所以你的 URL 变成这样

 http://mysite/Page            - Normal site
 http://mysite/ie5/Page        - IE5 version

最终,与尝试处理一大组复杂标记中的每个浏览器版本相比,这样做的工作量可能要少得多。

将这两者分开的好处之一是,当选择停止支持 IE5 时,您可以将这些映射自行重定向到升级页面,稍后当您停用 IE6 时,也可以这样做。这可能会将所有 hack、附加代码、不同的标记和 UI 错误包含在这些浏览器中,而不会影响您的主要开发。

关于jquery - 我如何使用 Modernizr 使 HTML5 模板适应 IE5、IE6 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098000/

相关文章:

javascript - 当用户查看页面的那部分时如何制作 CSS "execute"?

css - CSS 中的下拉菜单

如果没有看似无关的返回函数,Javascript 下载将无法工作

javascript - 使用来自 img 标签的数据

javascript - jQuery 无法在 Eclipse 中工作

c# - 如何从 ASP.NET 网站发送 HTML 电子邮件

javascript - 不再需要时 jQuery/kill 实例

javascript - 当我尝试插入迷你图时,我在每一行上得到相同的图表...如何获得正确的图表?

php - 需要帮助显示当前 mysql 记录并以 php 形式进行修改

jquery - 如果子元素满足指定条件,则默认不显示父元素