Sharepoint 2013 - 隐藏左侧导航,但不隐藏在人员和组中

时间:2013-08-13 13:03:49

标签: css sharepoint sharepoint-designer sharepoint-2013

我试图隐藏左侧导航栏,它可以正常工作。现在唯一的问题是当我进入时:网站设置>用户权限>人和团

它隐藏了我在左侧创建的群组。是否有可能在所有网站中隐藏左侧导航栏并单独留下“人员和群组”?

我创建了自己的css文件并使用它来隐藏导航栏:

MyOwnCss.css:

#sideNavBox { DISPLAY: none }
#contentBox { margin-left: 0px }

祝你好运

安德鲁

2 个答案:

答案 0 :(得分:6)

<强>解决方案:

尝试下面的css(而不是你的):

.ms-core-sideNavBox-removeLeftMargin { display: none } /* hide only quick links */
#contentBox { margin-left: 0px } /* make content take full page width */

<强>阐释:

ID为sideNavBox的Div是左侧导航框的主要容器。但它不是持有快速链接的实际容器。

  

SP2013 Left Navigation Element Hierarchy

实际上快速链接包含在另一个div中,其中包含ms-core-sideNavBox-removeLeftMargin类,它是div的子div,ID为sideNavBox

现在,人员和群组左侧的小组项目不包含在此类ms-core-sideNavBox-removeLeftMargin的div中,而是包含在其上方的div中,类别为ms-ql-additionaltopsection(如上图所示)。

因此,我们上面的解决方案隐藏了包含子div的实际快速链接:

  

.ms-core-sideNavBox-removeLeftMargin {display:none} / *仅隐藏快速链接* /

而不是父容器

  

#sideNavBox {display:none} / *隐藏左侧导航框* /

您可以在here找到我详细的博客。

答案 1 :(得分:0)

如果您希望仅在特殊情况下移除sidenavbox,则应执行以下操作:
1.编辑SharePoint设计器中的相关母版页(在下面的示例中,我编辑了系统母版页。
下面的示例检查表单页面并仅在那里删除sidenavbox 2.添加以下脚本(jQuery):
代码:

   <script>
      $(document).ready(function () {

        if(window.location.href.indexOf("newifs.aspx") > -1) {
             $('#sideNavBox').css('display', 'none');
             $('#contentBox').css('margin-right', '0px');
           }

        if(window.location.href.indexOf("editifs.aspx") > -1) {
           $('#sideNavBox').css('display', 'none');
           $('#contentBox').css('margin-right', '0px');
         }

       if(window.location.href.indexOf("displayifs.aspx") > -1) {
          $('#sideNavBox').css('display', 'none');
          $('#contentBox').css('margin-right', '0px');
      }

  })
</script>


3.保存并签入母版页 现在,您不需要编辑包含表单的每个页面来添加内容webpart等。这将适用于脚本中指定的所有页面。