我正在尝试在我的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。
答案 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 post和Tom Wilson's post。