sharepoint branding:由于_spBodyOnLoadWrapper()函数导致的页面宽度大小

时间:2012-07-30 12:06:35

标签: sharepoint sharepoint-2010 sharepoint-branding

我正在尝试在我的sharepoint网站上构建不同的外观和感觉。我尝试在sharepoitn设计器中使用我的表单标签将主要内容的宽度降低到960px。当我第一次刷新页面时,它将主要内容渲染为960px,但当页面fishished加载时,主要内容会自动延伸到整个屏幕的宽度。

我发现这是因为在body标签中运行的onload脚本。但我caanot删除此脚本,因为这项工作对页面功能有副作用。

该函数是_spBodyOnLoadWrapper()。

有谁知道这个功能?或者有谁知道如何解决这个问题?

更新#1:

我的css代码如下。我将此类添加到母版页上的主窗体:

.mainContent
{
width: 960px;
height:100% !important;
min-height:100% !important;
padding-top: 10px;
margin-left: auto;
margin-right: auto;
direction:rtl;
}

更新#2:

我使用v4.master模板。 我已从表格标签中取出了彩带。它直接在身体标签之后。因为我希望色带在顶部拉伸。但是当我添加这行代码时

<body onload="if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">

主要内容爆炸了。在整个宽度的标题处有一些东西,底部的一些面板仍然是960px。

1 个答案:

答案 0 :(得分:1)

你让我感兴趣所以我重新创建了你的问题。默认情况下,javascript将尝试根据其计算内联宽度。 但是,您需要在包装容器上设置类s4-notsetwidth 以下是我为解决您的问题所做的工作 将其添加到头部

<style type="text/css">
#s4-bodyContainer {
    width: 960px;
    height:100% !important;
    min-height:100% !important;
    padding-top: 10px;
    margin-left: auto;
    margin-right: auto;
}
/* Aligns the Top Bars */
.ms-cui-ribbonTopBars {
width: 960px!important;
margin-left:auto;
margin-right:auto;
}

/* Turns off the border on the bottom of the tabs */
.ms-cui-ribbonTopBars > div {
border-bottom:1px solid transparent !important;
}
</style>

然后找到s4-workspace(它是#s4-bodyContainer的直接父级并添加类s4-nosetwidth。这应该适合你。 使用这两个引用可以完全达到您想要的效果(不确定是否要对齐功能区),Randy Drisgill postTom Wilson's post