我使用 twitter bootstrap 开发了一个站点,似乎响应式布局部分在 IE8 及以下的所有 IE 浏览器中都被破坏了。这些浏览器不支持吗?
6 回答
如果你想有更好的性能并且你的结构不是太复杂。
你可以试试Respond.JS
来自作者:
这不是唯一的 CSS3 媒体查询 polyfill 脚本。但这该死的可能是最快的。
如果您正在寻找更强大的 CSS3 媒体查询支持,您可以查看http://code.google.com/p/css3-mediaqueries-js/。在测试中,我发现该脚本在渲染复杂的响应式设计(文件大小和性能方面)时明显变慢,但它确实支持比该脚本更多的媒体查询功能。给作者的大礼帽!:)
要在 IE 8 及更低版本中支持@media
查询,请查看
css3-mediaqueries-js。
Wouter van der Graaf的css3-mediaqueries.js是一个 JavaScript 库,可以让 IE 5+、Firefox 1+ 和 Safari 2 透明地解析、测试和应用 CSS3 媒体查询。Firefox 3.5+、Opera 7+、Safari 3+ 和 Chrome 已经提供原生支持。
PS:我使用Twitter Bootstrap和这个插件,效果很棒!希望这可以帮助!:)
这些是我为使其工作而采取的步骤:
看看 IE8 中的 response.js 演示页面:
https ://rawgithub.com/scottjehl/Respond/master/test/test.html
它可以通过将 response.js 下载到您的供应商/资产或类似的地方来在本地工作。
禁用您的本地引导程序并在您的 css 中尝试此操作:
/*styles for 800px and up @ 16px!*/
@media screen and (min-width: 50em){
body {
background: blue;
}
}
有用!
因为我使用的是cdn,所以我需要在本地下载并托管它:http:
//getbootstrap.com/getting-started/#download
所以,它适用于这些:
= stylesheet_link_tag 'bootstrap.min.css'
= stylesheet_link_tag 'bootstrap-theme.min.css'
= stylesheet_link_tag 'my-css'
= javascript_include_tag 'respond.min'
您还需要摆脱任何 @import 声明。
我已经尝试了上述所有方法,并且效果很好,但是速度很慢。我提供下一种方法。我们应该分解包含 @media 的 css 文件并将每个规则插入到单独的文件中。然后我们应该根据浏览器屏幕宽度有条件地上传每个文件。所有这些操作都将执行脚本 cload.js。下载 cload.js 并阅读如何使用它,你可以 在这里
它非常清楚地解释了 IE 和 Twitter Bootstrap 之间的挑战。它还为您提供实际可行的解决方案。
引用:
这里的问题是,在像http://twitter.github.com/bootstrap/这样的官方页面上, 它声称可以在所有浏览器中运行,甚至是 IE7。理论上可以,但是在进行响应式开发时,您必须围绕某种思维框架进行设计和开发。