我在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进行调整。