This template is used on approximately 26,000 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
This template does not display in the mobile view of Wikipedia; it is desktop only. Read the documentation for an explanation. |
This template uses Lua: |
Navbox suite |
---|
|
A navigation box that presents its content in columns. Originally intended to provide a relatively straightforward means to align links prefixed by flag icons, e.g. in templates offering links to country articles.
Basic syntax
Only required parameters and colwidth included.
{{Navbox with columns
| name = {{subst:PAGENAME}}
| title =
| colwidth = <!--(to set a default width for each column,
preferably in a proportional unit such as 'em'*)-->
| col1 =
| col2 =
}}
Parameters
Setup parameters
- name[1]
- The name of the template. The name of this template, for example, is "Navbox with columns".
- state[1]
- Possible values are
collapsed
,uncollapsed
,plain
,off
, and the defaultautocollapse
. See {{Navbox}} for more information. - navbar[1]
- Possible values are
plain
,off
, and the default value of blank. See {{Navbox}} for more information. - border[1]
- Possible values are
child
,none
, and the default value of blank. Set tochild
if you wish to use the navbox inside of another navbox; with this option, the child navbox is borderless and fits snuggly inside of its parent navbox. The parent navbox may be the list area of {{Navbox}}, a columns of another {{Navbox with columns}}, or a section of {{Navbox with collapsible groups}}. See {{Navbox}} for more information and examples.
Perimeter parameters
i.e. parameters affecting the inclusion/formatting of items around the template's perimeter.
- title[1]
- The title of the template, displayed centered in the titlebar at the top of the template.
- above[1]
- Text or other elements to appear above the columns.
- image[1]
- Image to the right of all of the columns.
- imageleft[1]
- Image to the left of all of the columns.
- below[1]
- Text or other elements to appear below the columns.
Style parameters
- style[1]
- CSS style/s to apply to the template's body (i.e. including space not used by columns)
- titlestyle[1]
- CSS style/s to apply to titlebar; usually
background:color
(background defaults to Navbox default). - abovestyle[1]
- belowstyle[1]
- CSS style/s to apply to the above and below parameters, respectively.
- basestyle[1]
- CSS style/s to apply to the title, above, and below, parameters, all at the same time.
- imagestyle[1]
- CSS style/s to apply to the image parameter.
- imageleftstyle[1]
- CSS style/s to apply to the imageleft parameter
- coltablestyle
- colstyle
- CSS style/s to apply across all columns; if used, usually
background:color
per titlestyle above. - oddcolstyle
- evencolstyle
- CSS style/s to apply to all odd/even-numbered columns, respectively.
- colnstyle
- CSS style/s to apply to the nth column only.
- colheaderstyle
- CSS style/s to apply to all column headers.
- colnheaderstyle
- CSS style/s to apply to the nth column header.
- colnfooterstyle
- CSS style/s to apply to the nth column footer cell.
Columns parameters
- colwidth
- Width, preferably in a proportional unit such as 'em', or as a percentage, used for each column whose width not specified by colNwidth below. Defaults to 10em. Examples:
colwidth = 15.0em
colwidth = 25%
- fullwidth
- If set to anything, then the total width of the columns are scaled linearly to make the sum of the widths 100%. A rather advanced parameter, this usually need not be used and should be left blank. If a colheader or colfooter is used, then fullwidth is used automatically. Example:
fullwidth = on
- padding
- Padding before first column, preferably in a proportional unit. Defaults to 5em. Padding is disabled by setting it to 0 (or 0em, or 0%).
- colnwidth
- The nth column's width (overrides colwidth above).
- coln
- The content of the nth column. If any columns are used, then
col1
is required. There can be a maximum of 20 columns. - colnheader
- A header cell for the nth column that appears above the column. See below for examples.
- colnfooter
- A footer cell that appears below the nth column.
- colnheadercolspan
- A number specifying how many columns the nth column header should span. It defaults to 1. If it is greater than one, then do not specify column headers that it covers. For example, if
col1headercolspan = 3
, then leavecol2header
andcol3header
blank. - colnfootercolspan
- A number specifying how many columns the nth column footer should span. It defaults to 1. If it is greater than one, then do not specify column footers that it covers. For example, if
col1footercolspan = 3
, then leavecol2footer
andcol3footer
blank.
Additional groups/lists
You may wish to add a few extra groups and/or lists below the columns. The following parameters are given to provide such functionality. See {{Navbox}} for a more complete description of how they work, and for more examples.
- groupn[1]
- Allows up to 6 additional groups to go along with the lists below the columns.
- listn[1]
- Allows up to 6 additional lists below the columns.
- groupstyle[1]
- The general CSS style/s for the groups.
- groupnstyle†
- CSS style/s for the nth group parameter.[1]
- liststyle[1]
- The general CSS style/s for the lists.
- listnstyle
- CSS style/s for the nth list parameter.
- listpadding[1]
- Amount of padding to have in each list cell.
- oddstyle
- evenstyle
- Applies to odd/even list numbers. Overrules styles defined by liststyle. The default behavior is to add striped colors (white and gray) to odd/even rows, respectively, in order to improve readability. These should not be changed except in extraordinary circumstances.
- evenodd
[swap, even, odd, off]
- See {{Navbox}} for description.
Microformats
- bodyclass
- This parameter is inserted into the "class" attribute for the infobox as a whole.
- titleclass
- This parameter is inserted into the "class" attribute for the infobox's title caption.
This template supports the addition of microformat information. This is done by adding "class" attributes to various data cells, indicating what kind of information is contained within. To flag a navbox as containing hCard information about a person, for example, add the following parameter:
|bodyclass = vcard
and
|titleclass = fn
or (for example):
|title = The books of <span class="fn">[[Iain Banks]]</span>
...and so forth.
See Wikipedia:WikiProject Microformats for more information on adding microformat information to Wikipedia, and microformat for more information on microformats in general.
Examples
Basic example
{{Navbox with columns
| name = East Asia Summit (EAS)
| title = [[East Asia Summit|East Asia Summit (EAS)]]
| listclass = plainlist
| width = 18.25em
| padding = 10em
| aboveclass = hlist
| abovestyle = font-weight: bold;
| above =
* [[First East Asia Summit|First]]
* [[Second East Asia Summit|Second]]
* [[Third East Asia Summit|Third]]
* [[Fourth East Asia Summit|Fourth]]
* [[Fifth East Asia Summit|Fifth]]
* [[Sixth East Asia Summit|Sixth]]
* [[Seventh East Asia Summit|Seventh]]
| col1 =
* [[Australia]]
* [[Brunei]]
* [[Burma]]
| col2 =
* [[Cambodia]]
* [[China]]
* [[India]]
| col3 =
* [[Indonesia]]
* [[Japan]]
* [[Laos]]
| col4 =
* [[Malaysia]]
* [[New Zealand]]
* [[Philippines]]
| col5 =
* [[Russia]]
* [[Singapore]]
* [[South Korea]]
| col6width = 17em
| col6 =
* [[Thailand]]
* [[United States]]
* [[Vietnam]]
}}
Example with percentage widths
{{Navbox with columns
| name = Transit visibility table
| titlestyle = background:silver;
| title = [[Astronomical transit|Transit]] visibility from [[inferior and superior planets|planets superior]] to the transiting body
| listclass = plainlist
| colwidth = 14.2857%
| colstyle = text-align:center;
| col1header = Venus
| col1 =
* [[Transit of Mercury from Venus|Mercury]]
| col2header = Earth
| col2 =
* [[Transit of Mercury|Mercury]]
* [[Transit of Venus|Venus]]
| col3header = Mars
| col3 =
* [[Transit of Mercury from Mars|Mercury]]
* [[Transit of Venus from Mars|Venus]]
* [[Transit of Earth from Mars|Earth]]
| col4header = Jupiter
| col4 =
* [[Transit of Mercury from Jupiter|Mercury]]
* [[Transit of Venus from Jupiter|Venus]]
* [[Transit of Earth from Jupiter|Earth]]
* [[Transit of Mars from Jupiter|Mars]]
| col5header = Saturn
| col5 =
* [[Transit of Mercury from Saturn|Mercury]]
* [[Transit of Venus from Saturn|Venus]]
* [[Transit of Earth from Saturn|Earth]]
* [[Transit of Mars from Saturn|Mars]]
* [[Transit of Jupiter from outer planets|Jupiter]]
| col6header = Uranus
| col6 =
* [[Transit of Mercury from Uranus|Mercury]]
* [[Transit of Venus from Uranus|Venus]]
* [[Transit of Earth from Uranus|Earth]]
* [[Transit of Mars from Uranus|Mars]]
* [[Transit of Jupiter from outer planets|Jupiter]]
* [[Transit of Saturn from outer planets|Saturn]]
| col7header = Neptune
| col7 =
* [[Transit of Mercury from Neptune|Mercury]]
* [[Transit of Venus from Neptune|Venus]]
* [[Transit of Earth from Neptune|Earth]]
* [[Transit of Mars from Neptune|Mars]]
* [[Transit of Jupiter from outer planets|Jupiter]]
* [[Transit of Saturn from outer planets|Saturn]]
* [[Transit of Uranus from Neptune|Uranus]]
}}
Example with colnheader and colnfooter
The gray background for the columns is added for illustration only.
Example with colnheader using colnheadercolspan
The gray background for the columns is added for illustration only. This example shows the colnheadercolspan parameter being used, but you may also use colnfootercolspan to adjust the span of the footer cells.
Example to illustrate most fields
The gray background and centered text for the columns is for illustration only. The columns default to an off-white background and left text alignment. This example shows how you can use up to six additional groups/lists after the columns.
Using child navboxes
All three types of navbox templates, namely {{Navbox}}, {{Navbox with columns}}, and {{Navbox with collapsible groups}}, can be nested inside of one another using the border
parameter (which is common to all three). For complex templates, it may be necessary to use nesting to achieve a desired look.
Nesting plain navboxes
To nest a plain navbox (that is, a navbox that would be specified with the {{Navbox}} template) inside a column, set the coln
parameter to child
or subgroup
. Elements of the child navbox can be specified by prepending coln_
to the parameter names (e.g. col1_list1
). Child navboxes can be nested by adding an additional prefix (e.g. col1_1_list1
).
To nest a plain navbox inside a list, set the listn
parameter to child
or subgroup
. Elements of the child navbox can be specified by prepending childn_
, subgroupn_
, or just n_
to the parameter names (e.g. 1_list1
). Child navboxes can be nested by adding an additional prefix (e.g. 1_1_list1
).
The basic code for doing this is as follows (which adds a subgroup for the first column and for the first group/list area):
{{Navbox with columns | name = {{subst:PAGENAME}} | title = Title | col1 = child | col1_title = [optional] | col1_group1 = [optional] | col1_list1 = ...list contents... ... | group1 = Group Title | list1 = child | 1_title = [optional] | 1_group1 = [optional] | 1_list1 = child | 1_1_title = [optional] | 1_1_group1 = [optional] | 1_1_list1 = ...list contents... ... ... }}
Nesting Navbox with columns in itself
This example shows how one can nest multiple {{Navbox with columns}} templates to get the right look. Edit this page to see the code. There is a main {{Navbox with columns}} and two additional {{Navbox with columns}} templates, with the "child" option set (see code).
Nesting other Navbox forms
This example shows {{Navbox}}, {{Navbox with collapsible groups}} and {{Navbox with columns}} all working together. Edit this page to see the code. Note that each of the child navboxes has the first parameter set to child
.
Technical details
- This template uses Module:Navbox with columns which in turn calls Module:Navbox to render the actual navbox.
- Navbox templates, including this one, are a major contributor to the post-expand include size of pages, and can cause pages to exceed the limit and not render correctly. There are a few ways to mitigate this.
{{Navbox with columns}}
can be replaced with{{#invoke:Navbox with columns|navbox}}
, which approximately halves the include size- Nesting other templates inside of a navbox can cause the include size increase by a factor of two or more. This template currently supports the same in-line child syntax supported by {{Navbox}}, which mitigates this, but only for plain Navboxes (not other Navboxes with collapsible groups or Navboxes with columns).
Aliases
- Also known as... – list of templates that redirect here and may also be used
Footnotes
Tracking category
See also
Template | Collapsible | Image | Groups | Style (body) parameter/s |
---|---|---|---|---|
{{Navbox}} | collapsible | Left/right of body | Yes | Yes |
{{Navbox with collapsible groups}} | collapsible | Left/right of body and/or in each list | Yes | Yes |
{{Navbox with columns}} | collapsible | Left/right of columns | No | Yes |
Type | CSS classes | JavaScript | Collapses when | Custom initial state |
Nesting |
---|---|---|---|---|---|
Collapsible tables | mw-collapsible | jQuery.makeCollapsible | 2 or more autocollapse on page | Yes | Yes |