如何为JSTree获得符合IE8标准的css主题?

时间:2014-07-04 12:21:14

标签: css internet-explorer-8 jstree background-size

我已经研究了很多关于为什么我的JSTree在IE8中非常糟糕地渲染,同时在Chrome中完美运行。至少有一个问题是IE8缺乏对css-property background-size的支持。我使用自定义图标来表示文件夹和文件。树形结构中的每一行在IE8中的高度为24px,当它是40的铬时。后一种浏览器使用background-size: auto;自动环绕图标大小来计算线高。 IE8没有。

我尝试使用许多不同的解决方案来弥补IE8缺乏的功能,例如:

How do I make background-size work in IE?

IE 8: background-size fix

和链接到https://github.com/louisremi/background-size-polyfill

然而,由于jstree的复杂性,以及它的默认css文件,我很难在现有代码中实现任何这些解决方案,因为我缺乏完全理解结构的经验。 default.css。

使这项工作成为正确的行动方案是什么?我也搜索过IE8兼容的.css文件,但一无所获。

这个答案证实了我不得不从头开始创建自己的.css并完全理解它,这也是非常受欢迎的。但是,在我花时间去做之前,我会喜欢第二种意见。

修改 这些是我目前情况的截图:

Chrome有很好的间距,可见的V形/箭头/扩展图标。此外,字体有效。

Chrome

IE8没有自动尺寸,这使得高度为24px而不是40px。我试过手动将它们设置为40,但没有运气。视觉技巧的缺乏并没有给我带来太多麻烦,但缺少箭头扩展图标对于我的应用程序的可用性至关重要。

IE8

当前主题的工作编辑将被接受作为答案。因此将链接到符合IE8的替代主题。或者任何有助于我了解如何解决问题的方法。

2 个答案:

答案 0 :(得分:3)

最好的方法是为IE8创建单独的样式表

 <!--[if IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8.css">
 <![endif]-->

还有许多其他内容,例如您需要添加元标记

 <meta http-equiv="X-UA-Compatible" content="IE=edge" />

还有一件事请将您的一些代码发布在小提琴中,以便我们更好地追踪问题的实际原因。

更新:

添加此修复后也会检查..

 <!--[if lt IE 8]>
    <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>
 <![endif]-->

我希望这会增加一些积极的东西。

更新:

检查jsTree Demo后,我可以再次提出jQuery版本的问题。

如果您使用的是jQuery v1.10.1或更高版本。 jQuery没有像IE8这样的老浏览器的支持,因为必须使用v.1.9.1,这是支持IE8的最后一个版本。

答案 1 :(得分:0)

尝试使用你的ie8浏览器兼容css3伪元素和其他东西的respond.js。

https://github.com/scottjehl/Respond/tree/master/src