无法让CSS3Pie工作

时间:2012-02-07 11:00:42

标签: css css3 internet-explorer-8 css3pie

我觉得很愚蠢,就像我错过了一些非常明显的东西,但我已经检查了一堆,无法弄清楚出了什么问题。我正在尝试使用CSS3pie在ie8中制作圆角,但它不会采取。

我有相对于html文档设置的路径,而不是css。它位于一个名为pie的文件夹中,所以这就是我在CSS中使用的内容:

#recommended-acc {
float: left;
width: 472px;
background: url(../img/cont_bg.png) repeat;
margin: 10px;
padding: 0 10px 6px 0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
behavior: url(pie/PIE.htc);
border-radius: 5px;
border: 1px #d8d8d8 solid;
 }

有没有人更了解css3派谁可能会告诉我我缺少的东西?我已经在很多不同的元素上尝试了它并且它没有工作过一次。

5 个答案:

答案 0 :(得分:5)

要尝试的一些事项:

  • 在路径中使用前导斜杠:

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

    这将确保路径正确,以防您在包含多个URI段的页面上,例如http://example.com/pages/archives/mypage.html。没有前导斜杠,它将是mypage.html的相对而不是根目录(它应该是)。

  • 尝试通过向元素添加position:relative;zoom:1来强制hasLayout(模糊IE事物)。这通常是问题,HTC文件被正确引用,但没有它就不适用。

仔细阅读known issues页面,确保您没有遇到任何其他常见问题。

答案 1 :(得分:0)

我早些时候也遇到过这些问题。

您必须将pie.htc文件保存在项目文件夹的根目录中。

我知道以下解决方案有点奇怪,但你可以尝试一下

尝试在pie.htc文件中添加警报或控制台,并将文件放在每个文件夹中,直到呈现为止。

答案 2 :(得分:0)

如何确保加载HTC文件..

  1. 放在<script type="text/javascript"> alert("test");下面 这个警告测试文件加载时
  2. 在您的css文件behavior: url("http://www.yourwebsite.com/test/PIE.htc");中输入完整的网址  加载页面时,会显示警告:)
  3. 这意味着您确定文件已加载:)
  4. 现在缩短behavior: url("relative to the CSS-FILE/PIE.htc");并确保您仍然收到提醒
  5. 删除alert =)
  6. 您现在100%确定它正在使用HTC文件

答案 3 :(得分:0)

我为此苦苦挣扎,我所能建议的就是试试这个。 将javascript版本与jQuery一起使用

    <!--[if lt IE 9]>
          <script type="text/javascript" src="js/PIE_IE678.js"></script>
        <![endif]-->
        <!--[if IE 9]>
          <script type="text/javascript" src="js/PIE_IE9.js"></script>
        <![endif]-->

  <!--[if IE]>
            <link rel="stylesheet" type="text/css" href="css/ie.css"/>
            <script>
               $(function() {
                if (window.PIE) {
                    $('.Circle').each(function() {
                        PIE.attach(this);

                      //  alert("Attached");
                    });
                }
            });
            </script>

           <![endif]-->

现在在CSS中,使用.Circle类或任何使用CSS 3的类,给它们:

缩放:1; 职位:相对;

我在使用jQuery&amp; amp;迁移插件 - 有些是“挑剔”这些工作。

<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>

幸运的是,这将成功。

答案 4 :(得分:0)

伙计们,我发现了你在寻找的问题。 首先,我使用了2个不同的网络主机。我自己的一个和公司的一个。

我在我自己的网站上手工编写了我的完整css3响应式网页设计..我需要PIE.htc文件才能获得适用于所有IE版本的圆角!我成功了。

然而,当我将相同的文件上传到我公司的网络主机时,它已不再适用了。 事实证明,他们不支持.htc文件。 所以我抓住了我的头,也没有把它弄好,但后来我发现这个提供程序将使用PIE.php文件。

所以,如果你这样做不起作用;

.bg {
    border-radius:60px;
    width: 80%;
    height: 85%;
    position: fixed;
    top: 10.2%;
    left: 18%;
    z-index: 1;
    border:3px solid #fff; 
    background:#fff;
    behavior: url(pie/PIE.htc);

比这更好;

.bg {
    border-radius:60px;
    width: 80%;
    height: 85%;
    position: fixed;
    top: 10.2%;
    left: 18%;
    z-index: 1;
    border:3px solid #fff; 
    background:#fff;
    behavior: url(pie/PIE.php);

只需将 PIE.htc 更改为 PIE.php 即可。