css3PIE or PIE.htc in Asp.net



我在asp.net中使用了css3pie,但它不起作用。我尝试了所有可能的解决方案。搜索了很多论坛,但未能在asp.net中正确使用PIE。让我向您展示我的项目结构

我的项目层次结构中有母版页和内部母版页
css3pie正在处理那些不使用母版页的页面。我的css和.htc文件如下

    • css
    • 脚本

当我在没有母版页的情况下使用css3PIE时,它可以工作:

<script type="text/javascript" src="../Scripts/html5.js"></script>        
<link href="css/IE.css" rel="stylesheet" type="text/css" />

上面的代码正在工作。但当我和master一起使用任何页面时。它不起作用。我的css看起来像这样:

behavior: url('../Scripts/PIE.htc');

css放在IE.css文件中。您可以在上面的代码中看到。请记住,我尝试了所有可能的组合来引用css 中的.htc

behavior: url('../Scripts/PIE.htc');
behavior: url('/Scripts/PIE.htc');
behavior: url('/PIE.htc');
behavior: url('PIE.htc');
with and without quotes

还有一件事。很多人说这是由于相对路径。我测试了这些东西。当我在IE的开发工具中查看渲染的html时。它应用了行为,但不起作用。请帮帮我。我们将不胜感激。提前感谢

好的,我解决了这个问题。所以我在这里写作是为了帮助其他人。当您在asp.net中使用母版页,并且在css中使用.htc文件作为相对路径时,请使用position作为相对路径。用于使用css3样式的目标元素。例如,css类是圆框

<style>
.round-box
{
  border: 1px solid #696;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  behavior: url(PIE.htc);
}
</style>

我们将应用的html元素。圆框样式是

<div class="round-box">This is a round Div<div>

所以,那些对圆角不适用于IE有意见的人只是把IE放在了特定的位置:对于IE浏览器来说是相对的。

 <!--[if lt IE 9]>
    <style>        
        .round-box
        {
            position: relative;
        }       
    </style>
 <![endif]-->

这将解决圆形问题或那些没有可见边界的问题。记住位置:相对会影响子元素。明智地使用

这不是路径问题。。。这与web服务器了解如何为.htc文件提供服务有关。有一个包装脚本可以为PHP实现这一点,您可以从它开始,并为IIS进行调整。

最新更新