Internet explorer 如何在MVC架构中包含border-radius.htc以使border-radius在IE中工作

Internet explorer 如何在MVC架构中包含border-radius.htc以使border-radius在IE中工作,internet-explorer,css,Internet Explorer,Css,我正在使用cakephp,并希望对某些部分的圆角执行css边框半径。它适用于除IE以外的所有其他浏览器。我现在指的是IE中圆角支持的链接。但问题是如何以及在何处准确放置边框半径。htc。页面从服务器动态加载,并从不同的文件夹加载。因此,我将如何定义给定链接中提到的相对路径。正如我在评论中所说,我建议使用border-radius.htc,而不是border-radius.htc 但它们都以相同的方式工作,所以同样的问题也适用于它们 答案是为.htc文件使用绝对URL,而不是相对URL 这样,只要

我正在使用cakephp,并希望对某些部分的圆角执行
css边框半径
。它适用于除IE以外的所有其他浏览器。我现在指的是IE中圆角支持的链接。但问题是如何以及在何处准确放置
边框半径。htc
。页面从服务器动态加载,并从不同的文件夹加载。因此,我将如何定义给定链接中提到的相对路径。

正如我在评论中所说,我建议使用border-radius.htc,而不是border-radius.htc

但它们都以相同的方式工作,所以同样的问题也适用于它们

答案是为.htc文件使用绝对URL,而不是相对URL

这样,只要你知道你的htc文件在哪里,你就可以通过相同的路径引用它,并且它会一直工作

将相对URL与htc文件一起使用似乎会引起混乱(现在关于完全相同的主题还有另一个问题),但是切换到绝对路径,它应该可以正常工作

因此,与其使用

behavior:url(../../css/pie.htc);
…只要使用

behavior:url(/css/pie.htc);
[编辑]

如果这不起作用,还有许多其他的事情可能会导致HTC文件不起作用

最常见的问题是内容类型问题。IE对此非常挑剔:HTC文件必须作为
text/x-component
。如果不是,IE将下载它,但完全忽略它


如果是这种情况,您可以通过将内容类型添加到服务器配置来更正它。有关于如何执行此操作的说明。(关于CSS3Pie的其他已知问题,请参见同一页,其中大多数问题也适用于
border radius.htc

我也将CSS3Pie与CakePHP一起使用-我只需将PIE.htc和PIE.php放在app/webroot/css中,并在我的style.css文件中这样引用它:

border-radius: 8px;
-moz-border-radius: 8px;
behavior: url(/css/PIE.php);

就我而言,我用的是馅饼,我花了很长时间才把它用上

首先:如果您有权访问.htaccess文件,请将其添加到底部

AddType text/x-component .htc
接下来是.htc文件(或者在我的例子中是几个饼图文件) 然后,在引用my.htc文件时:

behavior: url(/PIE.htc);
如果无法添加到.htaccess,请使用cssPie附带的pie.php文件并引用该文件

behavior: url(/PIE.php); 
还要确保您的元素是相对的,具有某种z索引集:

z-index:1;
position:relative;  
在我拿到那套之前,它在ie8中不起作用


希望这有帮助

建议:不要在问题中使用
边界半径.htc
。有一个更好的选择,叫做。它以同样的方式工作,所以你会有同样的问题,但它是一个更好的脚本;更多功能和更多支持。好的,我将检查我在类中定义边界半径时在css文件中尝试的其他方法,但在IE中看不到任何结果。我犯了什么错误。@user850234-添加了另一个可能的解决方案。希望这会有帮助。我面临的问题是当一个像/auctions/closed这样的链接出现时。此时,CSS3Pie url似乎错过了路径。否则我会得到结果的。嗯。。尝试使用(假设您使用的是Apache)跟踪请求被破坏的位置和原因。