2

我觉得很愚蠢,好像我错过了一些非常明显的东西,但我已经检查了很多东西,但无法弄清楚出了什么问题。我正在尝试使用 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 pie 的信息,谁可以就我所缺少的内容向我提供建议?我已经在很多不同的元素上尝试过它,但一次都没有用。

4

5 回答 5

5

有几件事要尝试:

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

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

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

  • 尝试通过向元素添加或来强制hasLayout(使 IE 变得模糊) 。这通常是问题所在,正确引用了 HTC 文件,但没有它,样式将不适用。position:relative;zoom:1

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

于 2012-02-09T11:09:49.753 回答
0

伙计们,我找到了你要找的问题。首先,我使用了 2 个不同的网络主机。我自己的 1 个和公司的 1 个。

我在自己的网站上手工编写了完整的 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即可。

于 2014-03-13T08:08:43.730 回答
0

我为此苦苦挣扎,我只能建议尝试一下。使用带有 jQ​​uery 的 Javascript 版本

    <!--[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 和 migrate 插件时发现的另一个注意事项 - 有些是“挑剔的”这些工作。

<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>

运气好的话,就可以了。

于 2013-09-18T14:26:34.183 回答
0

我早期也有这些问题。

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

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

尝试在 pie.htc 文件中添加警报或控制台,并将文件放在每个文件夹中,直到它被渲染。

于 2012-02-09T10:58:44.480 回答
0

如何确保您的 HTC 文件加载..

  1. 文件加载时放在<script type="text/javascript"> alert("test"); 此警报测试下方
  2. 在你的css文件中输入完整的urlbehavior: url("http://www.yourwebsite.com/test/PIE.htc"); 当你加载页面时会显示一个警报:)
  3. 这意味着您确定文件已加载:)
  4. 现在缩短behavior: url("relative to the CSS-FILE/PIE.htc");并确保您仍然收到警报
  5. 删除警报 =)

您现在 100% 确定它正在使用 HTC 文件

于 2012-11-26T15:25:20.460 回答