Asp.net中的css3PIE或PIE.htc

时间:2012-01-24 13:15:58

标签: asp.net html5 css3 master-pages css3pie

我在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" />

以上代码正常运行。但是,当我使用任何页面与主人。它不起作用。我的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时。它适用于行为但不起作用。 请帮我。我们将非常感谢。提前致谢

2 个答案:

答案 0 :(得分:1)

好的,我解决了这个问题。所以我写这里是为了帮助别人。当您在asp.net中使用母版页并且使用.htc文件作为css中的相对路径时,请使用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元素.round-box样式是

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

所以那些有问题的圆角没有在IE上工作只是把IE特定位置:相对于IE浏览器而言。

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

这将修复圆形问题或没有边框可见的问题。记住位置:亲戚会影响子元素。明智地使用它

答案 1 :(得分:1)

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