如何在MediaWiki中隐藏侧边栏?

4
我希望能够隐藏整个侧边栏(导航、搜索、工具箱),并且重新占用该空间。换句话说,页面应该变得更宽以填充侧边栏使用的空间。
我不想在每个页面上都这样做,而只是在特定的页面上使用模板来实现。
我有一个隐藏侧边栏的模板,但关键是它没有重新占用该空间。
<css>
#column-content {margin: 0 0 .6em 0;}
#content {margin: 2.8em 0 0 0;}
#p-logo, .generated-sidebar,
#p-lang,
#p-tb,
#p-search {display:none;}
#p-cactions {left: .1em;}
#footer {display:none;}
</css>

这是使用PageCSS扩展功能。
有人知道我如何修改它以重新获取空间,或者有其他解决方案吗?
更新:在Adrian Archer的帮助下(请参见下文),我发现问题出在我的自定义皮肤上。使用Monobook可以恢复空间。有人知道我需要复制Monobook皮肤的哪个特定部分吗?我尝试了几种方法,main.css可能是其中之一,但我不确定。
3个回答

3
感谢Adrian Archer的帮助(请参阅他的回复)+同事的辛勤工作,我有一个可用的示例(可能适用于所有皮肤)。创建一个模板(例如Template:Hide sidebar),其中包含以下内容:
<css>
#column-content {margin: 0 0 .6em 0;}
#content {margin: 2.8em 0 0 0;}
#p-logo, .generated-sidebar, #p-lang, #p-tb, #p-search {
   display:none;
}
#p-cactions { left: .1em; }
#footer { display:none; }
#mw_content { margin-left:0.2em; }
</css>

只需在需要隐藏侧边栏的任何页面中添加{{Hide sidebar}}即可。页面将重新占用侧边栏区域。与我的问题不同的是倒数第二行:#mw_content { margin-left:0.2em; }


1
未提及的是您需要安装一个扩展程序,以允许模板中使用CSS或任何HTML。以下是我假设您正在使用的扩展程序:http://www.mediawiki.org/wiki/Extension:PageCSS - Frug
@Frug: 很好的观点,我认为是 CSS扩展 导致的。请告诉我它是否有效,我会更新我的答案。谢谢! - Reinstate Monica - Goodbye SE
@Frug:实际上,我刚刚重新阅读了问题,那里我正在使用PageCSS扩展,我认为你需要它。 - Reinstate Monica - Goodbye SE
1
最新版本的MediaWiki仍然无法回收空间。 - xApple
1
  1. #content {margin: 2.8em 0 0 0;} 前面添加 #column-content,这帮助我使其正常工作。
  2. 我将这个 CSS 放在 Stylish(Firefox 插件)中,无需安装扩展程序,我可以切换侧边栏的可见性。
- ultracrepidarian

1

尝试将您的代码放入Common.css中以确保其正确。

我能想到的唯一可能是问题(我不是CSS专家)是它在错误的时间加载。尝试将其放置在模板之外,然后它是否有效?


1
FAQ(http://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_hide_the_left_vertical_navigation_toolbar)似乎表明它应该重新获取该空间。当我将该代码放在我的Common.CSS底部时,它按预期工作。 - Adrian Archer
好的,谢谢Adrian - 我期待着试一下。那么这是发生在所有页面上吗?你是如何让它只在某些页面上工作的? - Reinstate Monica - Goodbye SE
1
你把它放在你的MediaWiki:Common.css底部了吗?我使用的是1.13.3版本。你用的是哪个版本? - Adrian Archer
1
是的,它确实填充了之前侧边栏所占据的空间。 - Adrian Archer
1
是的,我正在使用monobook主题。很好发现。 - Adrian Archer
显示剩余7条评论

0

也许答案有点晚了...

在MediaWiki:Common.css中输入以下代码可在所有页面上隐藏导航栏

#mw-panel .body { visibility: hidden; }

或者

#mw-panel .body { opacity: 0; }

要在特定页面隐藏栏,请添加

.page-Pagename #mw-panel .body { visibility: hidden; }

“Pagename”是页面的名称(大写)。编辑MediaWiki:Common.css页面时要非常小心!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接