Acollapsibleelement contains a toggle a reader can use to show or hide the element's content. Elements are made collapsible by adding themw-collapsibleclass, or alternatively by using the{{Collapse}}template, or its variants{{Collapse top}}and{{Collapse bottom}}.
Themw-collapsibleclass can make any element collapsible, but tables are particularly simple to make collapsible. Adding themw-collapsibleclass to a table automatically positions the toggle, and selects which parts to collapse.
A common use is to make a collapsible layout table, which always displays an introduction or summary, but hides the rest of the content from immediate view. The introduction or summary is in the first row, and the content is in subsequent rows. The content is then easily accessible by using the 'show' button.
In the examples below, the use of the classwikitableis merely for appearance; it is not needed formw-collapsibleto function.
Code entered
Output produced
{|role="presentation"class="wikitable mw-collapsible"|<strong>Lorem ipsum</strong>|-|Lorem ipsum dolor sit amet
|}
Just using themw-collapsibleclass leaves the element expanded by default, but it can be collapsed by the reader. It is also possible to make the element collapsed by default, and optionally expanded by adding other classes along withmw-collapsible.There are several methods for doing this, depending on the situations in which you want the element to collapse. However, content should not be collapsed by default perMOS:DONTHIDE.
Adding themw-collapsedclass will cause the element toalwaysbe initially collapsed, no matter what happens around it. It is the simplest method for doing so. Using the examples above:
Code entered
Output produced
{|role="presentation"class="wikitable mw-collapsible mw-collapsed"|<strong>Lorem ipsum</strong>|-|Lorem ipsum dolor sit amet
|}
Using this technique causes the page to reflow/jump around and should generally be avoided.
Adding theautocollapseclass causes an element to collapse if there are 2 or more collapsible elements on the page. The example below, therefore, collapses because there are numerous collapsible elements on this page.
Code entered
Output produced
{|role="presentation"class="wikitable mw-collapsible autocollapse"|<strong>Lorem ipsum</strong>|-|Lorem ipsum dolor sit amet
|}
Using this technique causes the page to reflow/jump around and should generally be avoided.
Using this pair of classes, it is possible to make an element collapsed by default only when it iscontained withina particular outer element. An element with themw-collapsibleandinnercollapseclasses is collapsed by default if it is contained within an element with theoutercollapseclass; otherwise, it is uncollapsed by default. This is mainly useful for templates, which are often nested.
Code entered
Output produced
{|role="presentation"class="wikitable mw-collapsible innercollapse"|This<code>innercollapse</code>element is
|-|<em>uncollapsed</em>by default
|}<divclass="wikitable outercollapse"style="padding:1em; background:#ccc;">
This is an element with the<code>outercollapse</code>class.
{|role="presentation"class="wikitable mw-collapsible innercollapse"|This<code>innercollapse</code>element is
|-|<em>collapsed</em>by default
|}</div>
A table without a caption will collapse to its first row. A tablewitha caption will collapse to its caption, with no rows, therefore no width. Useclass= "nowrap"or{{nowrap}}to keep the caption from being squeezed into a vertical column when the table is collapsed.
Code entered
Output produced
{|class="wikitable sortable mw-collapsible"|+class="nowrap"|Somewhat long table caption!Name!!Score|-|John||59
|-|Bob||72
|}
Somewhat long table caption
Name
Score
John
59
Bob
72
Next example uses{{nowrap}}where the end brackets become the wrap point.<style=max-width:Xem;will not work.
Code entered
Output produced
{|class="wikitable sortable mw-collapsible"|+{{nowrap|A longer table caption needs to wrap}} for cell phones, etc.!Name!!Score|-|John||59
|-|Bob||72
|}
A longer table caption needs to wrapfor cell phones, etc.
Collapsible tables can be combined with thesortable tablesfunctionality without difficulty. However, because the hide/show button is placed withmw-collapsiblein the right header cell, its positioning can look a bit peculiar if the cell is not wide enough:
Code entered
Output produced
{|class="wikitable mw-collapsible sortable"style="width:5em"<!--table width too narrow, on purpose here-->|-!Name!!Score|-|John||59
|-|Bob||72
|}
Name
Score
John
59
Bob
72
A possible alternative is to add a caption over the table. See the following example.