Sharepoint 2010+;CSS3不是';无法工作,因为关闭了行为和指定的url
我正在为一个新的Sharepoint 2010面向公众的网站建立品牌。在这个网站上,我想在几个容器周围使用阴影和圆角。 我第一次尝试自己做,但我的一位同事告诉我关于CSS3Pie(),它的效果非常好 我遇到的问题是指定HTC文件的路径。 现在我有了这个: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;
#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函数来在母版页上附加饼图