Sharepoint 2010+;CSS3不是';无法工作,因为关闭了行为和指定的url

Sharepoint 2010+;CSS3不是';无法工作,因为关闭了行为和指定的url,css,sharepoint-2010,behavior,Css,Sharepoint 2010,Behavior,我正在为一个新的Sharepoint 2010面向公众的网站建立品牌。在这个网站上,我想在几个容器周围使用阴影和圆角。 我第一次尝试自己做,但我的一位同事告诉我关于CSS3Pie(),它的效果非常好 我遇到的问题是指定HTC文件的路径。 现在我有了这个: #left_content_small { width: 610px; padding: 20px; border: 1px solid #999; -webkit-border-radius: 10px;

我正在为一个新的Sharepoint 2010面向公众的网站建立品牌。在这个网站上,我想在几个容器周围使用阴影和圆角。 我第一次尝试自己做,但我的一位同事告诉我关于CSS3Pie(),它的效果非常好

我遇到的问题是指定HTC文件的路径。 现在我有了这个:

#left_content_small
{
    width: 610px;
    padding: 20px;
    border: 1px solid #999;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    -moz-box-shadow: 10px 10px 5px #888;
    -webkit-box-shadow: 10px 10px 5px #888;
    box-shadow: 10px 10px 5px #888;
    behavior: url(/PIE.htc);
}
这在IE中无法正常工作。此外,使用

    behavior: url(Style Library/StyleSheets/PIE.htc);
也不起作用。此外,在字符串周围放置“或”也不起作用。 但是,如下所示指定行为URL:

behavior: url(_layouts/PIE.htc);
不起作用。所有容器现在都已正确呈现

我可以将htc文件放在layouts文件夹中,但我不希望放在layouts文件夹中,因为它会破坏带有自定义文件的默认Sharepoint文件夹

我已经用Fiddler检查了页面加载,我看到PIE.htc文件在所有情况下都返回200代码(这很好)。无论我是否将其放置在布局、样式库或网站的根目录中,每次都返回200代码

CSS3Pie有一些已知的问题:它说明了一些关于相对url之类的东西。我想我已经通过在url前面放置一个/-字符解决了这个问题。 还尝试了完整的域url(
http://testsite.local/PIE.htc
),但这也不能正常工作


关于如何将htc文件放置在Sharepoint 2010网站的某个位置而不是布局文件夹中,您有什么想法吗?

查看有关此问题的信息是否有用:

我认为这个答案可能有用,但你也可以在其他答案中找到好的信息


我也有同样的问题,并用pie.js文件修复了它:

$(document).ready(function (event) {
    var webparts = $('.s4-wpTopTable, .ms-WPSelected');
        $.each(webparts, function(index,webpart)
        {
            $(webpart).wrap("<div class=\"webpart rounded\" />");
        });

    Modernizr.load({
        test: Modernizr.borderradius,
        nope: '/siteassets/js/pie.js',
        complete: borderradiusComplete
    });
});


function borderradiusComplete()
{
    if (window.PIE && !Modernizr.borderradius) {
        $('.rounded, .bottomrounded').each(function() {
            PIE.attach(this);
        });
    }
}

希望所有人都能从中受益。如果在进入编辑模式时出现方框,则需要使用上文中所述的position:relative。这适用于Sharepoint 2010和Office365 Sharepoint Online,在SP2010的大多数情况下,使用绝对路径似乎可以很好地工作。我们在Sharepoint解决方案中引用了它,如so、 没有任何问题:

.yourPIEEnhancedClass {
    behavior: url('/_layouts/ProjectName/Styles/PIE.htc');
}
如果出于任何原因指向样式库,字符串中的空格可能会迫使您必须使用带引号的字符串作为行为URL…CSS中的大多数内容也是如此(例如,带有空格的字体名称)


我唯一能想到的另一件事是确保IIS为.HTC提供了正确的mime类型(text/x-component)。您可能需要根据手动添加它。

我在sharepoint 2010品牌中遇到了同样的问题,我用css3pie js版本修复了这个问题

1您需要在母版页上添加jquery路径。

2在母版页上添加pie.js脚本

3您需要创建一个JSF函数来在母版页上附加饼图