5

我有一个使用 CSS3PIE 行为脚本的 CSS 文件,因此 IE8 将支持我的文件,但是,我想知道是否有任何方法可以使行为 URL 相对于 CSS 文件而不是相对于 HTML 文件。有没有办法做到这一点?

4

3 回答 3

5

您可以使用带有前面斜杠的路径(从域的根目录开始),类似于:

behavior: url(/css/PIE.htc);

这应该按预期工作。

或者,您可以使用 PIE.js 版本:http ://css3pie.com/documentation/pie-js/

JS 版本的优点 - 通过相对路径引用 PIE.js 文件更简单..

但是,PIE.js有很多缺点。小心行事。

于 2011-06-20T21:21:32.767 回答
1

另一种方法是使用服务器端技术为您找到根。我使用这种技术是因为我倾向于在虚拟目录中开发站点,而不是在本地域根目录中。

主要的缺点是这需要在代码中完成,而不是在不同的 CSS 文件中。

.NET 示例:

<!--[if lt IE 7]>
    <style>
        .foo
        {
            behavior: url(<%= ResolveUrl("~/") %>/js/libs/PIE.htc)
        }
    </style>
<![endif]-->
于 2012-12-18T10:59:49.347 回答
0

请记住,如果您的网站包含 HTTPS 和非 HTTPS 内容,您可能需要使用双斜杠来使其与协议无关: http: //paulirish.com/2010/the-protocol-relative-url/

这是 IE8 抓取文件的两个版本的一个缺点。

于 2012-10-23T19:29:11.770 回答