CSS3 + HTML5SHIV + CSS3PIE Border-radius不能在IE8上工作,但在IE7,9,10上工作

时间:2013-05-18 14:07:58

标签: css3 twitter-bootstrap css3pie html5shiv

我正在使用的网站 - http://www.quickseorankings.com/dev/,其内置:

  • Twitter Bootstrap
  • HTML5 + CSS3
  • HTML5SHIV
  • CSS3PIE

问题:导航栏链接的边框半径(活动)即使使用CSS3PIE,也无法使用IE8。但它的工作在IE7,9,10(使用browserstack进行测试)

CSS位置: / css /
CSS3PIE HTC文件位置: / root / 与我的index.html相同的位置

HTC编码为: behavior: url(PIE.htc);

<小时/> 修复尝试#1: behavior: url(/PIE.htc);behavior: url(../PIE.htc);
甚至尝试使用php one - behavior: url(PIE.php); behavior: url(/PIE.php);

修复尝试#2 添加了Htaccess:AddType text/x-component .htc

修复尝试#3 使用:http://fetchak.com/ie-css3/ - 它实际上是一个HTC解决方案,但与CSS3PIE的方法不同。仍然没有工作..

修复尝试#4 已添加:-pie-border-radius: 10px;无效。

修复尝试#5 已添加:position:relative !important; zoom:1; z-index:0 !important没有...

<小时/> 在此论坛上关注其他修复,仍然无法正常工作..非常感谢您的帮助!

通过ScottSimpson修复建议:隔离测试,使用没有TBS的普通html,这里是页面测试 - http://www.quickseorankings.com/pie/顶部按钮上的是CSS3PIE(DID NOT WORK) )..来自fetchak ie-css.htc的底部按钮是相当有效的..现在,这导致我们接近我的问题..问题是,是TBS导致.htc不能正确加载?或TBS覆盖它?但我做了,!重要的是值......嗯......

WINNER是pjumble :我正在使用PIE.htc(PIE 2.0 beta 1)所以它需要有这个文件 - PIE_IE678.js然后一切正常......谢谢你pjumble!

1 个答案:

答案 0 :(得分:3)

您正在使用PIE 2.0测试版,PIE 2.0的.htc文件只会加载外部JavaScript文件PIE_IE678.js。您需要将PIE_IE678.js上传到您的服务器,然后通知PIE javascript文件所在的位置。

最简单的方法是将PIE_IE678.js文件添加到与PIE.htc相同的目录中,然后使用绝对 URL到您的css文件中的PIE.htc文件,例如:

behavior: url('http://www.quickseorankings.com/dev/PIE.htc');

您的目录结构必须是:

quickseorankings.com/
   dev/
      PIE.htc
      PIE_IE678.js

注意:请勿手动加载任何PIE .js文件,.htc文件会为您加载其他javascript文件。