Help:Collapsing

A collapsible element contains a toggle a reader can use to show or hide the element's content. Elements are made collapsible by adding the  class, or alternatively by using the  template, or its variants  and.

Use of these features in article content is governed by the guidelines generally, and more specifically by Spoiler.

Collapsible tables
The  class can make any element collapsible, but tables are particularly simple to make collapsible. Adding the  class 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 class  is merely for appearance; it is not needed for   to function.

More complex data tables can also be collapsible.

Collapsing by default
Just using the  class 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 with. 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 per MOS:DONTHIDE.

"mw-collapsed"
Adding the  class will cause the element to  be initially collapsed, no matter what happens around it. It is the simplest method for doing so. Using the examples above:

"autocollapse"
Adding the  class 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.

"innercollapse" and "outercollapse"
Using this pair of classes, it is possible to make an element collapsed by default only when it is a particular outer element. An element with the  and   classes is collapsed by default if it is contained within an element with the   class; otherwise, it is uncollapsed by default. This is mainly useful for templates, which are often nested.

This is an element with the  class.


 * style="width:50%;"|

This is an element with the  class.


 * }

Tables with captions
A table without a caption will collapse to its first row. A table with a caption will collapse to its caption, with no rows, therefore no width. Use  or  to keep the caption from being squeezed into a vertical column when the table is collapsed.

Next example uses  where the end brackets become the wrap point.   will not work.

Sortable tables
Collapsible tables can be combined with the sortable tables functionality without difficulty. However, because the hide/show button is placed with  in the first header cell located or with   in the right header cell (this difference may change), its positioning can look a bit peculiar if the cell is not wide enough:

A possible alternative is to add a caption over the table. See the following example.

Limitations

 * This functionality requires the end-user's browser to have JavaScript enabled. If JavaScript is disabled, the default behaviour is to show the content.
 * It doesn't work on mobile browsers (or desktop browsers in mobile mode) either.