Changes
Jump to navigation
Jump to search
Reverted 1 edit by 1.129.110.178 (talk). (TW)
{{for|an older method of collapsing|WP:NAVFRAME}}
{{Wikipedia how-to|H:COLS}}
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 <code>mw-collapsible</code> class.
==Collapsible tables==
The <code>mw-collapsible</code> class can make any element collapsible, but tables are particularly simple to make collapsible. Adding the <code>mw-collapsible</code> 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 <code>wikitable</code> is merely for appearance; it is not needed for <code>mw-collapsible</code> to function.
{| class=wikitable style="width:80%;"
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>{| role="presentation" class="wikitable mw-collapsible"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}</nowiki></pre>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}
|}
More complex data tables can also be collapsible.
{| class="wikitable" style="width:80%;"
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>
{| class="wikitable mw-collapsible"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
</nowiki></pre>
|style="width:50%;"|
{| class="wikitable mw-collapsible"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
|}
==Collapsing by default==
Just using the <code>mw-collapsible</code> 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. There are several methods for doing this, depending on the situations in which you want the element to collapse.
==="mw-collapsed"===
Adding the <code>mw-collapsed</code> class will cause the element to {{em|always}} be initially collapsed, no matter what happens around it. It is the simplest method for doing so. Using the examples above:
{| class=wikitable style="width:80%;" align=center
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}</nowiki></pre>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}
|-
|style="width:50%;"|
<pre><nowiki>
{| class="wikitable mw-collapsible mw-collapsed"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
</nowiki></pre>
|style="width:50%;"|
{| class="wikitable mw-collapsible mw-collapsed"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
|}
==="autocollapse"===
{{hatnote|Using this technique causes the page to reflow/jump around and should generally be avoided.}}
Adding the <code>autocollapse</code> class causes an element to collapse if there are 2 or more collapsible elements on the page. This threshold might be different on other projects and is [[#Customization|customizable]]. The example below, therefore, collapses because there are numerous collapsible elements on this page.
{| class=wikitable style="width:80%;" align=center
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>{| role="presentation" class="wikitable mw-collapsible autocollapse"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}</nowiki></pre>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible autocollapse"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}
|}
==="innercollapse" and "outercollapse"===
{{hatnote|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 is {{em|contained within}} a particular outer element. An element with the <code>mw-collapsible</code> and <code>innercollapse</code> classes is collapsed by default if it is contained within an element with the <code>outercollapse</code> class; otherwise, it is uncollapsed by default. This is mainly useful for templates, which are often nested.
{| class=wikitable style="width:80%;" align=center
!Code entered!!Output produced
|-
|style="width:50%;"|
<source lang="html">
{| role="presentation" class="wikitable mw-collapsible innercollapse"
| This <code>innercollapse</code> element is
|-
| <em>uncollapsed</em> by default
|}
<div class="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>
</source>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible innercollapse"
| This <code>innercollapse</code> element is
|-
| <em>uncollapsed</em> by default
|}
<div class="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>
|}
==Other notes==
===Tables with captions===
A table without a caption will collapse to its first row. A table <em>with</em> a caption will collapse to its caption, with no rows, therefore no width. Use <code>class="nowrap"</code> or {{tl|nowrap}} to keep the caption from being squeezed into a vertical column when the table is collapsed.
{|class="wikitable" style="margin:0.5em auto;width:80%"
|-
!scope="col" width="60%"|Code entered
!scope="col" width="40%"|Output produced
|-
|width="60%"|
<nowiki>{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Somewhat long table caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}</nowiki>
|width="40%"|
{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Somewhat long table caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}
|}
===Sortable tables===
Collapsible tables can be combined with the [[Help:Sorting|sortable tables]] functionality without difficulty. However, because the hide/show button is placed with <code><!--Do not write mw- here-->collapsible</code> in the first header cell located or with <code>mw-collapsible</code> in the right header cell (this difference [[Talk:List of highest-grossing films#Franchise table|may change]]), its positioning can look a bit peculiar if the cell is not wide enough:
{|class="wikitable" style="margin:0.5em auto;width:80%"
|-
!scope="col" width="60%"|Code entered
!scope="col" width="40%"|Output produced
|-
|width="60%"|
<nowiki>{|class="wikitable mw-collapsible sortable" style="width:5em"
<!--table width too narrow, on purpose here-->
|-
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}</nowiki>
|width="40%"|
{|class="wikitable sortable mw-collapsible" style="width:5em"
<!--table width too narrow, on purpose here-->
|-
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}
|}
A possible alternative is to add a caption over the table. See the following example.
{|class="wikitable" style="margin:0.5em auto;width:80%"
|-
!scope="col" width="60%"|Code entered
!scope="col" width="40%"|Output produced
|-
|width="60%"|
<nowiki>{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}</nowiki>
|width="40%"|
{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}
|}
===Customization===
Registered users can edit [[Special:MyPage/skin.js|their personal js file]] to change some of the variables used.
<source lang=javascript>
autoCollapse = 4 //how many collapsible tables on the page before autocollapse works (default=2)
var collapseCaption = 'collapse' //text of the [hide] link (default='hide')
var expandCaption = 'uncollapse' //text of the [show] link (default='show')
</source>
===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.
==See also==
Documentation:
* {{Section link|Wikipedia:Manual of Style|Scrolling lists and collapsible content}} – style guidelines for collapsing content
* [[Help:Table]]
* [[Help:Table of contents]]
Templates:
* {{Tl|Collapse}}
* {{Tl|Collapse-top}} and {{Tl|Collapse-bottom}} – More feature-rich than {{Tlf|collapse}}
* {{Tl|Hidden}}
* {{Tl|Navbar-collapsible}}
== External links ==
* [[meta:Help:Collapsing]]
*[[mw:Manual:Collapsible elements]]
*[[mw:ResourceLoader/Default modules#jquery.makeCollapsible]]
{{Wikipedia technical help|collapsed}}
[[Category:Wikipedia how-to]]
[[Category:Wikipedia tables]]
{{Wikipedia how-to|H:COLS}}
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 <code>mw-collapsible</code> class.
==Collapsible tables==
The <code>mw-collapsible</code> class can make any element collapsible, but tables are particularly simple to make collapsible. Adding the <code>mw-collapsible</code> 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 <code>wikitable</code> is merely for appearance; it is not needed for <code>mw-collapsible</code> to function.
{| class=wikitable style="width:80%;"
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>{| role="presentation" class="wikitable mw-collapsible"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}</nowiki></pre>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}
|}
More complex data tables can also be collapsible.
{| class="wikitable" style="width:80%;"
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>
{| class="wikitable mw-collapsible"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
</nowiki></pre>
|style="width:50%;"|
{| class="wikitable mw-collapsible"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
|}
==Collapsing by default==
Just using the <code>mw-collapsible</code> 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. There are several methods for doing this, depending on the situations in which you want the element to collapse.
==="mw-collapsed"===
Adding the <code>mw-collapsed</code> class will cause the element to {{em|always}} be initially collapsed, no matter what happens around it. It is the simplest method for doing so. Using the examples above:
{| class=wikitable style="width:80%;" align=center
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}</nowiki></pre>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}
|-
|style="width:50%;"|
<pre><nowiki>
{| class="wikitable mw-collapsible mw-collapsed"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
</nowiki></pre>
|style="width:50%;"|
{| class="wikitable mw-collapsible mw-collapsed"
|+ class="nowrap" | Winter Olympic Games
|-
|
! scope="col" | City
! scope="col" | Country
|-
! scope="row" | 1994
| Lillehammer || Norway
|-
! scope="row" | 1998
| Nagano || Japan
|}
|}
==="autocollapse"===
{{hatnote|Using this technique causes the page to reflow/jump around and should generally be avoided.}}
Adding the <code>autocollapse</code> class causes an element to collapse if there are 2 or more collapsible elements on the page. This threshold might be different on other projects and is [[#Customization|customizable]]. The example below, therefore, collapses because there are numerous collapsible elements on this page.
{| class=wikitable style="width:80%;" align=center
!Code entered!!Output produced
|-
|style="width:50%;"|
<pre><nowiki>{| role="presentation" class="wikitable mw-collapsible autocollapse"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}</nowiki></pre>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible autocollapse"
| <strong>Lorem ipsum</strong>
|-
| Lorem ipsum dolor sit amet
|}
|}
==="innercollapse" and "outercollapse"===
{{hatnote|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 is {{em|contained within}} a particular outer element. An element with the <code>mw-collapsible</code> and <code>innercollapse</code> classes is collapsed by default if it is contained within an element with the <code>outercollapse</code> class; otherwise, it is uncollapsed by default. This is mainly useful for templates, which are often nested.
{| class=wikitable style="width:80%;" align=center
!Code entered!!Output produced
|-
|style="width:50%;"|
<source lang="html">
{| role="presentation" class="wikitable mw-collapsible innercollapse"
| This <code>innercollapse</code> element is
|-
| <em>uncollapsed</em> by default
|}
<div class="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>
</source>
|style="width:50%;"|
{| role="presentation" class="wikitable mw-collapsible innercollapse"
| This <code>innercollapse</code> element is
|-
| <em>uncollapsed</em> by default
|}
<div class="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>
|}
==Other notes==
===Tables with captions===
A table without a caption will collapse to its first row. A table <em>with</em> a caption will collapse to its caption, with no rows, therefore no width. Use <code>class="nowrap"</code> or {{tl|nowrap}} to keep the caption from being squeezed into a vertical column when the table is collapsed.
{|class="wikitable" style="margin:0.5em auto;width:80%"
|-
!scope="col" width="60%"|Code entered
!scope="col" width="40%"|Output produced
|-
|width="60%"|
<nowiki>{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Somewhat long table caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}</nowiki>
|width="40%"|
{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Somewhat long table caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}
|}
===Sortable tables===
Collapsible tables can be combined with the [[Help:Sorting|sortable tables]] functionality without difficulty. However, because the hide/show button is placed with <code><!--Do not write mw- here-->collapsible</code> in the first header cell located or with <code>mw-collapsible</code> in the right header cell (this difference [[Talk:List of highest-grossing films#Franchise table|may change]]), its positioning can look a bit peculiar if the cell is not wide enough:
{|class="wikitable" style="margin:0.5em auto;width:80%"
|-
!scope="col" width="60%"|Code entered
!scope="col" width="40%"|Output produced
|-
|width="60%"|
<nowiki>{|class="wikitable mw-collapsible sortable" style="width:5em"
<!--table width too narrow, on purpose here-->
|-
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}</nowiki>
|width="40%"|
{|class="wikitable sortable mw-collapsible" style="width:5em"
<!--table width too narrow, on purpose here-->
|-
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}
|}
A possible alternative is to add a caption over the table. See the following example.
{|class="wikitable" style="margin:0.5em auto;width:80%"
|-
!scope="col" width="60%"|Code entered
!scope="col" width="40%"|Output produced
|-
|width="60%"|
<nowiki>{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}</nowiki>
|width="40%"|
{|class="wikitable sortable mw-collapsible"
|+ class="nowrap" | Caption
! Name !! Score
|-
| John || 59
|-
| Bob || 72
|}
|}
===Customization===
Registered users can edit [[Special:MyPage/skin.js|their personal js file]] to change some of the variables used.
<source lang=javascript>
autoCollapse = 4 //how many collapsible tables on the page before autocollapse works (default=2)
var collapseCaption = 'collapse' //text of the [hide] link (default='hide')
var expandCaption = 'uncollapse' //text of the [show] link (default='show')
</source>
===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.
==See also==
Documentation:
* {{Section link|Wikipedia:Manual of Style|Scrolling lists and collapsible content}} – style guidelines for collapsing content
* [[Help:Table]]
* [[Help:Table of contents]]
Templates:
* {{Tl|Collapse}}
* {{Tl|Collapse-top}} and {{Tl|Collapse-bottom}} – More feature-rich than {{Tlf|collapse}}
* {{Tl|Hidden}}
* {{Tl|Navbar-collapsible}}
== External links ==
* [[meta:Help:Collapsing]]
*[[mw:Manual:Collapsible elements]]
*[[mw:ResourceLoader/Default modules#jquery.makeCollapsible]]
{{Wikipedia technical help|collapsed}}
[[Category:Wikipedia how-to]]
[[Category:Wikipedia tables]]