3

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

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

我制作了自己的 css 文件并用它来隐藏导航栏:

MyOwnCss.css:

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

此致

安德鲁

4

2 回答 2

6

解决方案:

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

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

解释:

带id的divsideNavBox是左侧导航框的主要容器。但它不是保存快速链接的实际容器。

SP2013 左侧导航元素层次结构

实际上,快速链接包含在另一个具有 classms-core-sideNavBox-removeLeftMargin的 div 中,该 div 是具有 id 的 div 的子 div sideNavBox

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

所以我们上面的解决方案隐藏了这个包含子 div 的实际快速链接:

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

而不是父容器

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

你可以在这里找到我关于这个问题的详细博客。

于 2013-08-15T21:22:04.387 回答
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 等。这将适用于脚本中指定的所有页面。

于 2016-12-15T09:58:03.660 回答