This template creates a dynamic navigation box using style sheet declarations in MediaWiki:Common.css and Javascript code in MediaWiki:Common.js. It displays the first parameter (the heading) with a [show] link on the right. If [show] is clicked by the user, the second parameter (the body) is displayed below the heading and the [show] link becomes [hide]. Clicking on [hide] then hides the body again and the [hide] link becomes [show] again.

The template does not provide an argument to designate the initial state of the show/hide control. In the nested case, show/hide controls in hidden content retain their state. There is no facility for collapse all or reveal all.

{{Hidden
|header=
|content=
|style=
|headerstyle=
|contentstyle=
|fw1=
|fw2=
|bg1=
|bg2=
|ta1=
|ta2=
}}

Only two parameters are required for this template:

header
text for header (or title); alternative to using unnamed parameter {{{1}}}
content
text for content (or body); alternative to using unnamed parameter {{{2}}}
style
add CSS to the main div.
headerstyle
add CSS to the header.
contentstyle
add CSS to the content box.


Note: This template will not respect the user preference "justify paragraphs".

In this example only the two required parameters are specified.

Code
{{hidden|Title text here|Body text line 1<br/>Body text line 2}}
Result
Code
{{hidden
|Title text here
|Body text line 1<br/>Body text line 2
|headerstyle=background:#ccccff
|style=text-align:center;
}}
Result
Code
{{hidden
| style = border:1px dashed red; width: 50%;
| headerstyle = background: #ccccff; font-size: 110%;
| contentstyle = text-align: center; color:green;
| header = Title text here
| content = Body text line 1<br />Body text line 2<br />Body text line 3
}}
Result
With ta1=right or a long header, the header may overlap the show/hide button:

"{{hidden|Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.|def|{{{4}}}}}" gives "

" [१]

Possible workaround is to add "padding-right:3em;" to the headercss parameter:

"{{hidden|headerstyle=text-align:right; padding-right:3em;|Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.|def}}" gives "

"

Example with long header
Above example with workaround:

"{{hidden|headerstyle=padding-right:3em;|abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc |def}}" gives "

"

Sections included inside a hidden block result in broken anchors in the table of contents at the top of the page.