我正在为我的网站寻找 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/